(57)【要約】本発明は集積回路（ＩＣ）に関し、特にＩＣ（１０）を不正アクセスから保護する機密保護に関する。一実施形態では、識別子がＩＣ１０の外部に供給される。次に、該当する入力ＩＣセキュリティキー（５２）をＩＣ１０に供給し、そして記憶ＩＣセキュリティキー（３０）と比較する。入力ＩＣセキュリティキー（５２）及び記憶ＩＣセキュリティキー（３０）が一致しない場合、被保護機能回路（１２）へのアクセスが禁止される。本発明は、ＩＥＥＥが制定するＪＴＡＧ１１４９．１インターフェイスを使用する標準デバッグインターフェイスを含むどのデバッグインターフェイスも使用することができる。
2006505022.tif 000002
【特許請求の範囲】
【請求項１】
集積回路（ＩＣ）（１０）であって、
被保護機能回路（１２）と、
記憶ＩＣセキュリティキーを記憶する記憶回路（３０）と、
ＩＣデバッグインターフェイス（５２，５８）と、
前記記憶回路（３０）に接続される第１入力、前記ＩＣデバッグインターフェイス（５２）に接続される第２入力及び保護イネーブル信号（４６）を供給する出力を有する比較回路（３８）と、
前記被保護機能回路（１２）に接続され、前記保護イネーブル信号を受信する入力を有するアクセス保護回路（４０）とを備える集積回路。
【請求項２】
前記比較回路（３８）は、前記記憶ＩＣセキュリティキーを、前記ＩＣデバッグインターフェイスを通して受信される入力ＩＣセキュリティキーと比較することに応答して前記保護イネーブル信号を供給する、請求項１記載のＩＣ。
【請求項３】
前記ＩＣデバッグインターフェイスは、複数のＩＣデバッグ端子を備え、前記アクセス保護回路は、前記複数のＩＣデバッグ端子と前記被保護機能回路との間の通信を前記保護イネーブル信号に基づいて選択的に可能にする、請求項１記載のＩＣ。
【請求項４】
前記ＩＣデバッグインターフェイスに接続されてＩＣ識別子を記憶する識別子記憶回路（３２）をさらに備える、請求項１記載のＩＣ。
【請求項５】
前記ＩＣ識別子は前記ＩＣの外部に前記ＩＣデバッグインターフェイスを通して供給される、請求項４記載のＩＣ。
【請求項６】
前記比較回路に接続される、強制イネーブル値を記憶する強制イネーブル記憶回路（４５）をさらに備え、前記強制イネーブル値が第１ステート有する場合には、アクセス保護回路は、前記ＩＣデバッグインターフェイスと前記被保護機能回路との間の通信を可能にし、前記強制イネーブルが第２ステートを有する場合には、アクセス保護回路は前記ＩＣデバッグインターフェイスと前記被保護機能回路との間の通信を前記保護イネーブル信号に基づいて選択的に可能にする、請求項１記載のＩＣ。
【請求項７】
被保護機能回路（１２）及び前記被保護機能回路に接続される少なくとも一つのＩＣ端子（５２）を有するＩＣ（１０）において機密保護を提供する方法であって、
前記少なくとも一つのＩＣ端子を通して入力ＩＣセキュリティキーを受信することと（１０６）、
前記入力ＩＣセキュリティキーを記憶ＩＣセキュリティキーと比較することと（１０８）、
前記被保護機能回路へのアクセスを前記少なくとも一つのＩＣ端子を通して選択的に可能にすること（１１２，１１６）とを含む方法。
【請求項８】
被保護機能回路及びＪＴＡＧインターフェイスを有するＩＣにおいて機密保護を提供する方法であって、
第１のＪＴＡＧステートにおいて、ユーザが定義する命令を前記ＪＴＡＧインターフェイスを通して受信することと（２０１）、
第２のＪＴＡＧステートにおいて、入力ＩＣセキュリティキーを前記ＪＴＡＧ入力インターフェイスを通して受信し、前記入力ＩＣセキュリティキーを記憶ＩＣセキュリティキーと比較すること（１０６，１０８）と、
前記被保護機能回路へのアクセスを前記ＪＴＡＧインターフェイスを通して選択的に可
能にすること（１１２，１１６）とを含む方法。
【請求項９】
前記第１のＪＴＡＧステート（２０１）はＳＨＩＦＴ＿ＩＲステートである請求項８記載の方法。
【請求項１０】
被保護機能回路と、前記被保護機能回路に接続される少なくとも一つのＩＣ端子とを有するＩＣにおいて機密保護を提供する方法であって、
前記少なくとも一つのＩＣ端子を通して前記被保護機能回路にアクセスすることと、
比較回路をイネーブルにするように強制イネーブル指示子をプログラミングすることとを含み、前記比較回路は入力ＩＣセキュリティキーを記憶ＩＣセキュリティキーと比較し、比較動作に応答して、前記被保護機能回路へのアクセスを前記少なくとも一つのＩＣ端子を通して選択的に可能にする、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路に関し、特に集積回路の機密保護に関する。
【背景技術】
【０００２】
集積回路の機密保護は、集積回路が機密保護に重きを置いた用途に使用される機会が益々増えるに従って益々重要になっている。このような用途の例として、スマートカード、携帯電話、インターネット通信装置などが挙げられる。特に多くの場合において、集積回路の一つ以上の部分への不正な、または無許可のアクセスから機密情報を保護することが望まれる。多くの集積回路は、集積回路に情報を入力するため、及び集積回路から情報を出力するために使用される端子を含む。このような入力／出力端子が集積回路の一つ以上の部分への無許可のアクセスの経路となる。また、集積回路に取り付けられる幾つかの入力／出力端子はデバッグ、エミュレーション及び／又はテスト目的に使用することができると同時に集積回路の一つ以上の部分への無許可のアクセスの経路ともなる。
【０００３】
集積回路のデバッグ、エミュレーション及び／又はテスト目的に使用する一の共通規格は、公知のＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）１１９４．１テストアクセスポート及びバウンダリスキャンアーキテクチャである。標準ＪＴＡＧインターフェイスに加えて、広範囲の種類の他のデバッグ、エミュレーション及び／又はテストインターフェイスが集積回路に使用される。
【０００４】
デバッグ、エミュレーションまたはテストインターフェイスを利用するシステムでは、内部ＩＣ（集積回路）リソースへの無許可のアクセスを防いでこのようなアクセスからリソースの機密を保護しなければならない。従って、ＩＣ装置に対するデバッグ、エミュレーション及びテスト機能を保持しつつ無許可のアクセスから機密を保護する方法が必要とされる。
【発明を実施するための最良の形態】
【０００５】
本発明は例を通して示されるが、添付の図面により制限されるものではなく、これらの図面においては同様の参照符号は同様な構成要素を指す。
この技術分野の当業者であれば、図面における構成要素が簡素化及び明瞭化のために示され、必ずしも実寸通りには記載されていないことを理解できるものと思われる。例えば、これらの構成要素の内の幾つかの寸法は他の構成要素に対して誇張して描かれて本発明の実施形態に対する理解を深めるのに役立つ。
【０００６】
本明細書において使用されるように、「バス（ｂｕｓ）」という用語は複数の信号または導電体を指し、このバスを使用してデータ、アドレス、制御またはステータスのような一つ以上の種々のタイプの情報を伝送することができる。「アサート（ａｓｓｅｒｔ）」及び「ネゲート（ｎｅｇａｔｅ）」という用語は、信号、ステータスビット、または同様な装置をそれぞれその論理的に真の状態または論理的に偽の状態にする操作を指すときに使用する。論理的に真の状態が１の論理レベルである場合、論理的に偽の状態はゼロの論理レベルである。また、論理的に真の状態がゼロの論理レベルである場合、論理的に偽の状態は１の論理レベルである。本明細書で使用する「デバッグ（ｄｅｂｕｇ）」という用語は非常に広い範囲の意味で使用されるので、エミュレーション及びテスト機能も含むことになる。
【０００７】
図１は、本発明の一の実施形態による集積回路（ＩＣ）１０をブロック図の形で示して
いる。一実施形態において、ＩＣ１０はデバッグポート２０及び被保護機能回路１２を含む。一実施形態において、被保護機能回路１２はプロセッサ１４、他の回路１６及び入／出力（Ｉ／Ｏ）回路１８を含み、これらは、通信信号２６を通して、互いに双方向的に接続され、さらにデバッグポート２０に接続される。一実施形態において、プロセッサ１４は如何なるタイプの命令をも実行するプロセッサとすることができ、例えば中央処理ユニット、デジタル信号プロセッサ、タイマー処理ユニットなどが挙げられる。一実施形態において、他の回路１６は、ＩＣ１０の所望の機能の内の一つ以上を実行する回路とすることができるが、所望の機能を実行するための命令を必ずしも実行する必要は無く、例えばＭＰＥＧエンコーダ、デコーダ、画像処理ユニット、またはハードワイヤードのデータ処理素子とすることができる。被保護機能回路１２の別の実施形態はプロセッサ１４のみ、他の回路１６のみ、またはプロセッサ１４及び他の回路１６の両方を含むことができる。一実施形態において、Ｉ／Ｏ回路１８は一つ以上のＩＣ端子２４に接続されて、ＩＣ１０の外部の回路（図示せず）と通信することができる。本発明の別の実施形態において、Ｉ／Ｏ回路１８はデータ／アドレス／制御バス構造を含む如何なるタイプの外部バス構造も含むことができる。ＩＣ１０のさらに他の実施形態は、Ｉ／Ｏ回路１８及びＩＣ端子２４さえも含まず、例えば外部バスを持たないシングルチップモードで動作するＩＣ１０とすることができる。本発明の一実施形態において、デバッグポート２０は一つ以上のＩＣ端子２２に双方向通信可能に接続され、この構成によりデバッグポート２０はＩＣ１０の外部に在る装置（図示せず）と通信することができる。
【０００８】
図２は、本発明の一実施形態による、図１のデバッグポート２０の一部をブロック図の形で示している。一実施形態において、デバッグポート２０はデバッグ回路４１を含み、このデバッグ回路はＩＣ端子２２に信号５８を通して双方向通信可能に接続されて一つ以上のデバッグ信号をＩＣ１０の外部に在る装置（図示せず）から受信し、かつ／または装置に供給する。デバッグ回路４１は他のデバッグ回路４２を含み、このデバッグ回路は双方向通信可能にアクセス保護回路４０に信号５０を通して接続される。他のデバッグ回路４２は、一つ以上の信号４８を識別子記憶回路３２に供給して、何時、識別子記憶回路３２が一つ以上の導電体５６及び一つ以上の端子２２を通して記憶識別子値をＩＣ１０の外部に供給するかを通知する。別の構成として、デバッグ回路４１は記憶識別子値を識別子記憶回路３２から信号４８を通して受信し、記憶識別子値を一つ以上の導電体５８及び一つ以上の端子２２を通してＩＣ１０の外部に供給する。アクセス保護回路４０は、導電体６０によって、被保護機能回路１２に双方向通信可能に接続されてデバッグ目的で使用する情報を転送する。
【０００９】
本発明の一実施形態において、識別子記憶回路３２に記憶される識別子値は製造される各集積回路１０に固有のものである。しかしながら別の実施形態では、識別子値とＩＣとの間のどのような所望のマッピングも使用することができる。１対１マッピングのような固有マッピングは幾つかの実施形態では望ましくない。識別子値は、フューズのような１回限りプログラム可能な不揮発性記憶回路に記憶されてもよいし、マスクにプログラムされてもよいし、またはデバッグポート２０の外部のロジックによって供給されてもよい。識別子値を使用して種々の目的のためにＩＣを追跡するだけでなく、ＩＣ１０の外部に識別子値を供給することができる。ＩＣ１０の製造業者は識別子値の機密リスト及び該当するＩＣセキュリティキー値をＩＣ１０の外部で保持することができる。他方、各ＩＣ１０も識別子（識別子記憶回路３２に）及び記憶ＩＣセキュリティキー（ＩＣセキュリティキー記憶回路３０に）の両方を記憶する。
【００１０】
ＩＣ１０の外部の許可デバッグ装置（図示せず）が識別子値をＩＣ１０から端子２２を通して受信すると、許可デバッグ装置は識別子値及び対応するＩＣセキュリティキー値の機密リストをチェックして、正しい入力ＩＣセキュリティキー値を求めて、ＩＣ端子２２及び一つ以上の導電体５２を通してＩＣ１０に入力する。ここで、識別子の長さは、個々
のＩＣに関する所望のマッピングを作成するのに十分な数のビットが在れば、任意の適切な長さに選択されてよいことに注目されたい。同様に、ＩＣセキュリティキーの長さは、試行錯誤によって被保護機能回路１２への無許可アクセスを生じさせないために十分な数のビットが在れば、任意の適切な長さであってよい。一実施形態において、識別子の長さは１６ビットであり、ＩＣセキュリティキーの長さは４８ビットである。本発明の別の実施形態は識別子値の供給を必要とせず、従って識別子記憶回路３２を含まない。
【００１１】
一実施形態において、デバッグポート２０はＩＣセキュリティキー記憶回路３０を含み、この記憶回路は記憶ＩＣセキュリティキーを比較回路３８に一つ以上の信号５４を通して供給する。一実施形態において、キー認証回路３４は比較回路３８に加えてカウンター回路３６を任意選択の形で含むことができる。本発明の別の実施形態において、カウンター３６を使用して保護イネーブル信号４６のネゲート化を防止することができる。本発明の一実施形態において、カウンター３６は、予め選択されたイベント後に所定時間が経過すると、保護イネーブル信号４６のネゲート化を防止する。予め選択されたイベントは所望のイベントとすることができるが、幾つかの考え得るイベントはリセット信号４４のアサートであり、別の構成として、ＩＣ端子２２からの第１入力ＩＣセキュリティキーの受信である。幾つかの実施形態では、前記比較が所定の時間枠内で一致しない場合、被保護機能回路１２へのアクセスは可能にならない。別の実施形態では、カウンター３６は比較回路３８が行なう失敗に終わった比較操作の数を計数し、リセット信号４４の最後のアサートから所定数の失敗比較操作が行なわれた場合に保護イネーブル信号４６のネゲートを防止する。本発明の一実施形態において、被保護機能回路１２へのアクセスを防止するために、キー認証回路３４の起動時またはリセット時に、保護イネーブル信号４６がアサートされた状態に初期化される。他の実施形態において、保護イネーブル信号４６をＩＣ１０の内部または外部の他のイベントによってアサートすることができる。
【００１２】
本発明の一実施形態において、キー認証回路３４は、ＩＣ１０の外部から一つ以上のＩＣ端子２２及び一つ以上の導電体５２を通して受信された入力ＩＣセキュリティキーを受信する。次に比較回路３８は、端子２２から受信した入力ＩＣセキュリティキーを、回路３０に記憶されている記憶ＩＣセキュリティキーと比較する。比較回路３８は、記憶されている記憶ＩＣセキュリティキーを、回路３０から導電体５４を通して受信する。本発明の一実施形態において、比較回路３８は、入力ＩＣセキュリティキーの各ビットを比較回路３８が受信するとビット毎の比較を行なう。本発明の別の実施形態では、一時的に入力ＩＣセキュリティキーを記憶し、次に入力ＩＣセキュリティキーの全ビットを受信してしまうと、記憶ＩＣセキュリティキーとの比較を行なう。
【００１３】
入力ＩＣセキュリティキーが記憶ＩＣセキュリティキーと一致すると、比較回路３８は保護イネーブル信号４６をネゲートする。保護イネーブル信号４６をネゲートすることにより、アクセス保護回路４０は、被保護機能回路１２へ他のデバッグ回路４２を通してアクセスすることを可能にする。本発明の幾つかの実施形態では、保護イネーブル信号４６をアサートすると、他のデバッグ回路４２の一つ以上の部分が使用不能にされ、一方、デバッグ回路４２の他の部分は保護イネーブル信号４６の状態に関係なく使用可能のままである。
【００１４】
本発明の幾つかの実施形態では、強制イネーブル回路４５を使用して比較回路３８の機能を無効（override) にし、入力ＩＣセキュリティキー及び記憶ＩＣセキュリティキーの値に関係なく保護イネーブル信号４６を強制的にネゲートする。強制イネーブル回路４５の一の考えられる使用方法は、ＩＣ１０の製造者によるデバッグ及びテストの間に、デバッグ回路４１を強制的に使用可能にすることである。一旦、ＩＣ１０の回路設計が正しいことが確認されると、強制イネーブル回路４５は永久に使用不能にされて、キー認証回路３４が再びバイパスされることは無くなる。これを実施する一つの方法は、フューズのよ
うな１回限りプログラム可能な不揮発性記憶回路を一つ以上使用することである。例えば、一実施形態において、強制イネーブル回路４５内の一つ以上のフューズを溶断することにより強制イネーブル回路４５がこれ以降、キー認証回路３４を変更しないようにする。
【００１５】
本発明の幾つかの実施形態では、リセット信号４４をキー認証回路３４及びＩＣ１０の他の部分に供給する。次にリセット信号４４を他の回路１６（図１参照）のリセットアサート回路によって、またはＩＣ１０の内部の、或いは外部の回路によってアサートすることによりＩＣ１０の全部または一部をリセットする。幾つかの実施形態では、カウンター３６（任意選択）が所定時間が経過した、または所定回数の試行があったと判断された後に、比較回路３８を使用不能にし、それ以上の比較操作を不可とする。リセット信号４４はキー認証回路が任意に使用してカウンター３６をリセットし、かつ／または比較回路３８を使用可能にすることにより比較操作を開始するか、または再開する。
【００１６】
他のデバッグ回路４２は、一つ以上の標準デバッグ、エミュレーション、または、例えばＪＴＡＧインターフェイス及びＪＴＡＧプロトコルのようなテストインターフェイス及びテストプロトコルを実行する回路を含むことができる。一実施形態では、ＩＣ端子２２はＪＴＡＧ  ＴＤＯ（ｔｅｓｔ  ｄａｔａ  ｏｕｔ：テストデータアウト）信号及びＪＴＡＧ  ＴＤＩ（ｔｅｓｔ  ｄａｔａ  ｉｎ：テストデータイン）信号を含むことができる。本発明の幾つかの実施形態では、保護イネーブル信号４６は、他のデバッグ回路４２が実行する選択ＪＴＡＧ機能に影響を及ぼさない。これによって、保護イネーブル信号４６がアサートされてデバッグ回路４１が被保護機能回路１２へアクセスできなくなる場合でも、他のデバッグ回路４２はＪＴＡＧに準拠する方式で動作することができる。
【００１７】
ここで、本発明の幾つかの実施形態では、ＩＣ端子２２の内の一つの端子をデバッグＩＣ端子として使用し得、この端子が信号５２を通して入力ＩＣセキュリティキーを比較回路３８に供給し、またこの端子は、デバッグ回路４１を通して被保護機能回路１２と通信するためにデバッグＩＣ端子としても機能することに注目されたい。本発明の幾つかの実施形態では、信号５２、及び信号５８及び６０の内の一つ以上をＪＴＡＧ  ＴＤＩ信号とすることができる。
【００１８】
同様に、本発明の幾つかの実施形態では、ＩＣ端子２２の内の一つの端子を、回路３２からの識別子値をＩＣ１０の外部の回路（図示せず）に信号５６を通して供給するデバッグＩＣ端子として使用することができる。ＩＣ端子２２のこの同じ一つの端子はデバッグＩＣ端子としても機能して、アクセス保護回路４０を通して被保護機能回路１２からＩＣ１０の外部の他の回路（図示せず）への通信を可能にする。一実施形態では、信号５６、及び信号５８，６０の内の一つ以上はＪＴＡＧ  ＴＤＯ信号とすることができる。
【００１９】
図３は、本発明の一実施形態による、集積回路の機密保護を実現する方法をフロー図の形で示している。一実施形態では、図３のフローを使用して図１のＩＣ１０の機密保護を実現することができる。長円形ブロック１００で示す開始から、図３のフローはステップ１０２に進み、このステップで識別子がＩＣの外部に供給される。ステップ１０２からステップ１０６に円形ブロックＡ１０４を通って進む。ステップ１０６では、入力ＩＣセキュリティキーをＩＣの外部から受信する。ステップ１０６から、フローはステップ１０８に進み、このステップで入力ＩＣセキュリティキーを記憶ＩＣセキュリティキーと比較する。ステップ１０８から、フローは判定用の菱形ブロック１１０に進み、このステップで入力ＩＣセキュリティキーと記憶ＩＣセキュリティキーとが一致したか否かを判定する。
【００２０】
これらのキーが一致した場合、フローは任意選択のステップ１１２に進み、このステップで被保護機能回路１２へのアクセスが可能になる。ステップ１１２から、フローは任意選択のステップ１１４に進み、このステップで他のデバッグ回路４２の少なくとも一部へ
のアクセスが可能になる。ここで、本発明の別の実施形態では、任意選択のステップ１１４を飛ばすことができ、一致したか否かの結果を使用せずに、他のデバッグ回路４２の任意の回路に影響しないようにすることができることに注目されたい。ステップ１１４から、フローは長円形ブロック１２４に進んでフローが終了する。
【００２１】
これらのキーが判定用の菱形ブロック１１０で一致しなかった場合、フローはステップ１１６に進み、このステップで被保護機能回路１２へのアクセスが拒否される。ステップ１１６から、フローは任意選択のステップ１１８に進み、このステップで他のデバッグ回路４２の少なくとも一部へのアクセスが拒否される。ここで、本発明の別の実施形態では、任意選択のステップ１１８を飛ばすことができ、一致したか否かの結果を使用せずに他のデバッグ回路４２のどの回路にも影響が及ばないようにすることができることに注目されたい。別の構成として、他のデバッグ回路４２の一つ以上の部分が引き続き使用可能にされたままとすることにより、保護イネーブル信号４６の影響を受けないようにすることができる。ステップ１１８から、フローは判定用の菱形ブロック１２０に進んで、このブロックで別の入力ＩＣセキュリティキーを受信して判断することが許可されるか否かをチェックする。別の入力ＩＣセキュリティキーを受信して判断することが許可されない場合、フローは長円形ブロック１２４に進んでフローが終了する。しかしながら、別の入力ＩＣセキュリティキーを受信して判断することが許可された場合、フローはステップ１２２に進み、このステップで任意の遅延が選択的に挿入される。任意の遅延を付与することにより、本発明が提供するセキュリティメカニズムを阻止しようとする試行の回数を制限するとともに、不正な入力を訂正する適切な機会が得られるという利点が生じる。任意の遅延の長さはどのような適切な態様でも設定することができる。幾つかの実施形態では、任意選択の遅延ステップ１２２無しで済ますことができる。ステップ１２２から、フローは円形ブロックＡの１０４に進み、そこで別の入力ＩＣセキュリティキーを受信する。別の実施形態では、判定用の菱形ブロック１２０を変更することにより、入力ＩＣセキュリティキーを入力しようとする試行の回数を制限することができる。判定用の菱形ブロック１２０における操作は、入力しようとする試行の回数を計数し、この試行回数を所定のしきい値と比較し、試行回数がしきい値に等しいか、またはしきい値を超えると、円形ブロックＡ１０４へ戻ることを拒否する、という操作を基本とする。他の実施形態では、判定用の菱形ブロック１２０における操作は、他の全ての値、アルゴリズム、またはＩＣ１０の内部或いは外部の状態に基づいて行なわれるようにすることができる。
【００２２】
図４は、本発明の別の実施形態による、集積回路の機密保護を実現する方法をフロー図の形で示している。一実施形態では、図４のフローを使用して図１のＩＣ１０の機密保護を実現することができる。この場合、ＩＣ１０はＪＴＡＧテストアクセスポートを使用して入力ＩＣセキュリティキーの受信を可能にする。図４では、図４において行なわれるステップが図３における該当するステップと同じ機能を実行する場合に図３の参照番号と同じ参照番号が使用される。図３のフローと比較すると、図４のフローは、ＪＴＡＧテストアクセスポート及びバウンダリスキャンアーキテクチャを利用する本発明の一実施形態についてより詳細に記載している。
【００２３】
長円形ブロック１００で示す開始から、図４のフローはステップ１０２に進み、このステップでＪＴＡＧステートマシーンがＳＨＩＦＴ＿ＩＲステートとなり、識別子（ＰＡＲＴ＿ＩＤ）は、このステートに保持された状態で次のクロックサイクルの間にＴＤＯ信号で出力される。一実施形態では、ＴＤＯ信号はＳＨＩＦＴ＿ＩＲステートの間、一連の２進数０１が連結された識別子（ＰＡＲＴ＿ＩＤ）を供給する。ＴＤＯ信号はＩＣの外部に供給される。ステップ１０２からステップ２０１に円形ブロックＡの１０４を通って進む。ステップ２０１では、ＪＴＡＧステートマシーンがＳＨＩＦＴ＿ＩＲステートに保持されるか、または再度ＳＨＩＦＴ＿ＩＲステートとなる一方で、ＥＮＡＢＬＥ＿ＤＥＢＵＧ命令のようなユーザ定義の命令の２進数表現をＴＤＩ信号で入力する。ステップ２０１か
ら、フローはステップ２０２に進み、このステップでＪＴＡＧステートマシーンがＵＰＤＡＴＥ＿ＩＲステートとなり、ＪＴＡＧ  ＩＲ（命令レジスタ）にＥＮＡＢＬＥ＿ＤＥＢＵＧ命令の２進数表現を読み込む。ステップ２０２から、フローはステップ１０６，１０８に進み、このステップでＥＮＡＢＬＥ＿ＤＥＢＵＧ命令を実行する。ステップ１０６，１０８の間、入力ＩＣセキュリティキーをＩＣの外部から受信する。入力ＩＣセキュリティキーのビットを受信すると、これらのビットはビット毎に記憶されているＩＣセキュリティキーと比較される。これに代えて、本発明の別の実施形態では、全てのビットを受信してしまうまでに入力ＩＣセキュリティキーを一時的に記憶して比較操作を並列的に行なうようにすることができる。全ての入力ＩＣセキュリティキーを記憶ＩＣセキュリティキーと比較する操作が完了した後に、フローはステップ１０６，１０８から図３のフローと同様な態様で進んで判定用の菱形ブロック１１０に至る。
【００２４】
これまでの明細書では、本発明は特定の実施形態を参照しながら記載されてきた。しかしながらこの技術分野の当業者であれば、以下の請求項に開示される本発明の技術範囲から逸脱しない範囲において種々の変形及び変更を加え得ることは明らかであろう。従って、本明細書及び図面は制限的な意味ではなく例示的に捉えられるべきであり、全てのこのような変形は本発明の技術範囲に含まれるものである。例えば本発明は、ＩＣ１０の外部のソースからＩＣ１０への不正アクセスに対する機密保護の観点から記載されてきたが、本発明の別の実施形態では、ＩＣ１０の回路の一つ以上の部分を同じＩＣ１０の回路の他の無許可の部分によるアクセスから保護することができる。
【００２５】
効果、他の利点、及び問題解決法が特定の実施形態に関連する形で上に記載されてきた。しかしながら、効果、利点、問題解決法、及びこのような効果、利点、または問題解決法をもたらし、またはさらに顕著にさせるすべての要素（群）が、いずれかの請求項または全ての請求項の必須の、必要な、または基本的な特徴、或いは要素であると考えられるべきではない。この明細書で使用されるように、「備える（ｃｏｍｐｒｉｓｅｓ）」、「備える（ｃｏｍｐｒｉｓｉｎｇ）」という用語、または他のすべてのこれらの変形は包括的な意味を指すものであり、例えば一連の要素を備えるプロセス、方法、製品、または装置がこれらの要素のみを含む、ということではなく、明らかには挙げられていない、またはそのようなプロセス、方法、製品、または装置に固有の他の要素を含むことができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態による集積回路１０を示すブロック図。
【図２】本発明の一実施形態による、図１のデバッグポート２０の一部を示すブロック図。
【図３】本発明の一実施形態による、集積回路の機密保護を実現する方法を示すフロー図。
【図４】本発明の別の実施形態による、集積回路の機密保護を実現する方法を示すフロー図。
【図１】
2006505022.tif 000003
【図２】
2006505022.tif 000004
【図３】
2006505022.tif 000005
【図４】
2006505022.tif 000006
【国際調査報告】
2006505022.tif 000007
2006505022.tif 000008