(57)【要約】【課題】意図しない利用者による集積回路の機能の不正な利用を抑止でき、セキュリティ強度の向上を図ることが可能な集積回路を提供する。【解決手段】集積回路２０は、容易に推測のできないビット列を生成するビット列生成器２１と、ビット列生成器２１で生成されたビット列と外部から入力される比較対象のビット列とを比較し、比較結果を示す制御信号を出力する比較器２２と、比較器２２の比較結果を示す制御信号Ｓ２２により機能の利用が制御される機能対象部２３と、を含み、比較器２２は、比較結果が、少なくとも上記ビット列生成器で生成されたビット列と外部から入力される比較対象のビット列とが一致している場合に限り、上記機能の全体または一部を利用可能とする制御信号Ｓ２２を機能対象部２３に出力する。【選択図】図１
2010009421.tif 000002
【特許請求の範囲】
【請求項１】
容易に推測のできないビット列を生成するビット列生成器と、
上記ビット列生成器で生成されたビット列と外部から入力される比較対象のビット列とを比較し、比較結果を制御信号として出力する比較器と、
上記比較器の比較結果を示す制御信号により機能の利用が制御される機能対象部と、を含み、
上記比較器は、
比較結果が、少なくとも上記ビット列生成器で生成されたビット列と外部から入力される比較対象のビット列とが一致している場合に限り、上記機能の全体または一部を利用可能とする上記制御信号を上記機能対象部に出力する
集積回路。
【請求項２】
上記比較器は、
外部からの利用要求信号がアクティブで供給された場合に、上記制御信号を出力する
請求項１記載の集積回路。
【請求項３】
上記比較器は、
外部からの利用要求信号がアクティブで供給され、上記ビット列生成器で生成されたビット列と外部から入力される比較対象のビット列とが一致し続けるときのみ、上記機能の全体または一部を利用可能とする上記制御信号を上記機能対象部に出力する
請求項２記載の集積回路。
【請求項４】
上記比較器は、
上記ビット列生成器で生成されたビット列と外部から入力されるビット列とが一致していない場合があると、リセット信号が供給されるまで、上記機能の全体または一部を利用不可能とする上記制御信号を上記機能対象部に出力する
請求項１記載の集積回路。
【請求項５】
上記比較器は、
上記利用要求信号が非アクティブとなり、あるいは上記ビット列生成器で生成されたビット列と外部から入力される比較対象のビット列とが一致していない場合があると、リセット信号が供給されるまで、上記機能の全体または一部を利用不可能とする上記制御信号を上記機能対象部に出力する
請求項３記載の集積回路。
【請求項６】
上記ビット列生成器には、不確定なビット列が入力され、当該ビット列生成器が生成するビット列が当該集積回路を利用するたびに異なる
請求項１記載の集積回路。
【請求項７】
上記ビット列生成器と同等の機能の第２のビット列生成器を含む外部の鍵デバイスから上記第２のビット列生成器によるビット列を、上記比較器に比較対象のビット列として供給可能である
請求項１から６のいずれか一に記載の集積回路。
【請求項８】
対象となる機能が、チップの機能を試験するための試験機能である
請求項１から６のいずれか一に記載の集積回路。
【請求項９】
対象となる機能が、チップ内蔵の演算処理装置で実行されるプログラムをデバッグするためのデバッグ機能である
請求項１から６のいずれか一に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高い機密性や安全性が求められる個人情報や課金情報を扱う情報処理装置等に適用される集積回路に関するものである。
【背景技術】
【０００２】
たとえば、個人情報や課金情報を扱う情報処理装置は、高い機密性や安全性が求められるデータを扱う。
そのため、その情報処理装置に実装される集積回路には、内部の情報を悪意ある第三者から保護する機構が求められる。
【０００３】
このような集積回路には、悪意ある第三者と正規の使用者とを区別するために、集積回路の利用者を何らかの方法で認証する機構が実装される。
たとえば、パスワードによる認証や、公開鍵暗号を利用した認証等が方法として挙げられる。
【特許文献１】特開２００５‐１９５４７８号公報
【特許文献２】特開２００６‐２９９４８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、パスワードによる認証は、そのパスワードが悪意ある第三者に流出した場合は意味を成さなくなる。
公開鍵暗号による認証も、使用している秘密鍵のデータが流出した場合には意味を成さなくなることは同様であり、それらのデータが電子データとして一般的に入手可能な経路で広く流通することも容易である。
【０００５】
また、集積回路には一般的に製造時に内部の回路を試験するための機能も備わっているが、その機能を悪意ある第三者が利用することにより内部の情報を不正に入手する手段を与えることになる。
そのため、そのような機能の利用には上記と同様に利用者(この場合、試験を行う資格を与えられたもの)の認証を行う、もしくは製品状態ではその機能が使えなくなるような処置を出荷時に施すことになる。
【０００６】
このような試験機能を出荷前のみに限定して利用できるようにする、特許文献１に開示されたような方法もある。
しかし、この場合、仮に集積回路に市場不良などが発生して、製造元での原因解析が必要になったときに、その試験機能が利用できないため、原因の解析に支障が生ずるという問題がある。
【０００７】
また、認証を行う方式では、前記のように認証用データの流出の懸念が考えられる。
特許文献２に開示されているように、パスワードとは異なる周波数信号などを検知して、上記試験機能を有効にする方法もある。
しかし、この方法でも周波数信号の周波数情報が流出すれば、上記と同様の問題が発生する。
【０００８】
本発明は、意図しない利用者による集積回路の機能の不正な利用を抑止でき、セキュリティ強度の向上を図ることが可能な集積回路を提供することにある。
【課題を解決するための手段】
【０００９】
本発明の第１の観点の集積回路は、容易に推測のできないビット列を生成するビット列生成器と、上記ビット列生成器で生成されたビット列と外部から入力される比較対象のビット列とを比較し、比較結果を制御信号として出力する比較器と、上記比較器の比較結果を示す制御信号により機能の利用が制御される機能対象部と、を含み、上記比較器は、比較結果が、少なくとも上記ビット列生成器で生成されたビット列と外部から入力される比較対象のビット列とが一致している場合に限り、上記機能の全体または一部を利用可能とする上記制御信号を上記機能対象部に出力する。
【００１０】
好適には、上記比較器は、外部からの利用要求信号がアクティブで供給された場合に、上記制御信号を出力する。
【００１１】
好適には、上記比較器は、外部からの利用要求信号がアクティブで供給され、上記ビット列生成器で生成されたビット列と外部から入力される比較対象のビット列とが一致し続けるときのみ、上記機能の全体または一部を利用可能とする上記制御信号を上記機能対象部に出力する。
【００１２】
好適には、上記比較器は、上記ビット列生成器で生成されたビット列と外部から入力されるビット列とが一致していない場合があると、リセット信号が供給されるまで、上記機能の全体または一部を利用不可能とする上記制御信号を上記機能対象部に出力する。
【００１３】
好適には、上記比較器は、上記利用要求信号が非アクティブとなり、あるいは上記ビット列生成器で生成されたビット列と外部から入力される比較対象のビット列とが一致していない場合があると、リセット信号が供給されるまで、上記機能の全体または一部を利用不可能とする上記制御信号を上記機能対象部に出力する。
【００１４】
好適には、上記ビット列生成器には、不確定なビット列が入力され、当該ビット列生成器が生成するビット列が当該集積回路を利用するたびに異なる。
【００１５】
好適には、上記ビット列生成器と同等の機能の第２のビット列生成器を含む外部の鍵デバイスから上記第２のビット列生成器によるビット列を、上記比較器に比較対象のビット列として供給可能である。
【００１６】
好適には、対象となる機能が、チップの機能を試験するための試験機能である。
【００１７】
好適には、対象となる機能が、チップ内蔵の演算処理装置で実行されるプログラムをデバッグするためのデバッグ機能である。
【００１８】
本発明によれば、ビット列生成器で生成されたビット列と外部から入力された比較対象のビット列とが比較器で比較される。
そして、ビット列生成器で生成されたビット列と外部から入力された比較対象のビット列とが一致していない限り、集積回路の全体または一部の機能が利用できない。
【発明の効果】
【００１９】
本発明によれば、意図しない利用者による集積回路の機能の不正な利用を抑止でき、セキュリティ強度の向上を図ることができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施形態を図面に関連付けて説明する。
【００２１】
図１は、本発明の第１の実施形態に係る集積回路を採用した情報処理システムの構成例を示すブロック図である。
【００２２】
本情報処理システム１０は、集積回路２０および鍵デバイス３０を有する。
【００２３】
集積回路２０は、内部に擬似乱数生成器などの容易に推測のできないビット列を生成する生成器と、そのビット列と外部から入力するビット列を比較する比較器とを有し、その比較結果が常に一致していない限り集積回路の全体または一部の機能を利用できないように構成される。
【００２４】
図１の集積回路２０は、ビット列生成器２１、比較器２２、および機能対象回路２３を含む。
また、集積回路２０は、図示しない制御系や鍵デバイス３０等からの各種信号が供給される端子Ｔ２１、Ｔ２２、Ｔ２３、およびＴ２４を有している。
端子Ｔ２１にはリセット信号ＲＳＴが供給される。
端子Ｔ２２には動作基準クロック信号ＲＣＬＫが供給される。
端子Ｔ２３には、たとえば鍵デバイス３０等により比較対象の信号ＳＣＭＰが供給される。
端子Ｔ２４には利用要求信号ＵＲＱＳが供給される。
【００２５】
また鍵デバイス３０は、たとえば集積回路２０のビット列生成器２１と同等の第２のビット列生成器３１を有する集積回路により形成される。
また、鍵デバイス３０は、図示しない制御系から供給される信号や生成したビット列を出力するための端子Ｔ３１、Ｔ３２、およびＴ３３を有する。
端子Ｔ３１にはリセット信号ＲＳＴが供給される。
端子Ｔ３２には動作基準クロック信号ＲＣＬＫが供給される。
端子Ｔ３３にはビット列生成器３１で生成され集積回路２０における比較対象の信号ＳＣＭＰとなるビット列Ｓ３１が供給される。
【００２６】
集積回路２０は、たとえば個人情報や課金情報などを扱う、機密性の求められる情報を処理するように構成される。
【００２７】
ビット列生成器２１は、論理回路等で実現され、集積回路２０へのリセット信号ＲＳＴがリセット解除された直後から動作を開始し、集積回路２０の動作基準クロック信号ＲＣＬＫのタイミングで１または０に変化するビット列Ｓ２１を生成する。
ビット列生成器２１は、擬似乱数生成器など、確定的ではあるが容易に推測のできない長周期のビット列を生成する回路である。
その構成は、たとえば[非特許文献１、FIPS PUB 186-2 + Change Notice, Digital Signature Standard (DSS)]で規定されるような擬似乱数生成器を適用可能である。ただし、この構成に限定されるものではなく、後で説明するような物理乱数生成器と組み合わせる等の種々の態様で適用可能である。
ビット列生成器２１に適用される乱数生成器のアルゴリズムや鍵となるデータを知らない限り、ビット列Ｓ２１と同じビット列を生成し続けるのは困難である。
【００２８】
図２は、図１のビット列生成器の構成例を示す図である。
【００２９】
このビット列生成器２１は、擬似乱数生成アルゴリズムを実行するＸＫＥＹ更新部２１１、Ｇ関数実行部２１２に加え、その生成された擬似乱数をビット列Ｓ２１として送出するパラレルシリアル（Ｐ／Ｓ）変換部２１３を含む。
【００３０】
ＸＫＥＹ更新部２１１は、リセット信号ＲＳＴがリセット解除されたら初期値として固定値である初期ＸＫＥＹの値を取り込み、Ｇ関数実行部２１２に送出する。
【００３１】
Ｇ関数実行部２１２は、いわゆるＧ関数を実行し、その結果をＸＫＥＹ更新部２１１に戻すとともに、Ｐ／Ｓ変換部２１３に送出する。
【００３２】
ＸＫＥＹ更新部２１１は、Ｇ関数実行部２１２の出力から所定のアルゴリズムにより新しいＸＫＥＹを生成して再びＧ関数実行部２１２に送出する。
【００３３】
Ｐ／Ｓ変換部２１３は、Ｇ関数実行部２１２の出力をシリアル信号に整形してビット列Ｓ２１として比較器２２に出力する。
【００３４】
この例のように構成されるビット列生成器２１の重要な特徴は、初期ＸＫＥＹの値により全く異なるビット列Ｓ２１を生成することである。
仮に擬似乱数生成のアルゴリズムを知っているものでも、初期ＸＫＥＹの値を知らない限り、全く同一のビット列Ｓ２１を生成するのは困難である。
【００３５】
初期ＸＫＥＹは、たとえば１６０ビットのビット列であり、初期ＸＫＥＹを知らない者が同一のビット列を生成しようと試みても、初期ＸＫＥＹの推測がたまたま一致する確率は２−１６０となり極めて小さい。
無論、上述したように、ビット列生成器２１の構成はこれに限るものではない。
【００３６】
ビット列生成器２１で生成されたビット列Ｓ２１は集積回路２０に内蔵された比較器２２に入力される。
【００３７】
比較器２２は、ビット列Ｓ２１と端子Ｔ２３を介して供給される比較対象の信号ＳＣＭＰとを比較し、比較結果が一致しているか否かを示す制御信号Ｓ２２を機能対象回路２３に出力する。
【００３８】
図３は、図１の比較器の具体的な構成例を示す回路図である
【００３９】
この比較器２２は、ＥＸＯＲゲート２２１、ＡＮＤゲート２２２、ラッチレジスタ２２３、およびセレクタ２２４を有する。
【００４０】
比較器２２の入力の一つは、集積回路２０の外部から端子Ｔ２３に供給される信号ＳＣＭＰが入力される。
比較器２２の内部では、ＥＸＯＲゲート２２１においてビット列Ｓ２１と信号ＳＣＭＰの論理的排他和の演算が行われる。
ＥＸＯＲゲート２２１は、ビット列Ｓ２１と信号ＳＣＭＰの両者が一致し続ける限りハイレベルの信号Ｓ２２１を出力し続ける。
【００４１】
比較器２２の入力の他の一つは、集積回路２０の外部から端子Ｔ２４に供給される、集積回路２０の利用要求信号ＵＲＱＳである。なお、本実施形態において、利用要求信号ＵＲＱＳはハイレベルでアクティブであり、利用要求を示す。
利用要求信号ＵＲＱＳは、利用者が集積回路２０の全体、もしくは一部の機能の利用を要求するための信号である。
【００４２】
比較器２２では、ＡＮＤゲート２２２において、ＥＸＯＲ２２１の出力信号Ｓ２２１と、利用要求信号ＵＲＱＳとの論理積がとられる。
このＡＮＤゲート２２２の出力制御信号Ｓ２２２がハイレベルになるということは、集積回路２０の利用要求があり、かつビット列Ｓ２１と信号ＳＣＭＰが一致していることを示している。
【００４３】
一方、ＡＮＤゲート２２２の出力信号Ｓ２２２がローレベルになるということは、集積回路２０の利用要求が無い、もしくはビット列Ｓ２１と信号ＳＣＭＰが一致していないということを示していることになる。
【００４４】
ＡＮＤゲート２２２の出力信号Ｓ２２２は、セレクタ２２４を介してラッチレジスタ２２３へと入力され、クロック信号ＲＣＬＫの所定タイミングでＡＮＤゲート２２２の出力の状態がラッチレジスタ２２３に取り込まれる。
ラッチレジスタ２２３は、リセット信号ＲＳＴのリセット解除後はハイレベルの状態を保持しており、その後もＡＮＤゲート２２２の出力信号がハイレベルであり続ける限りはハイレベルを保持し続ける。
しかし、ＡＮＤゲート２２２の出力信号Ｓ２２２が一度ローレベルを示し、その値を取り込むと、セレクタ２２４の働きによりＡＮＤゲート２２２の出力にかかわらず、ラッチレジスタ２２３はローレベルを保持し続けることになる。
ラッチレジスタ２２３の出力は比較器２２の出力制御信号Ｓ２２となる。
【００４５】
すなわち、比較器２２の出力制御信号Ｓ２２は、集積回路２０の利用要求信号ＵＲＱＳが利用要求を示すハイレベルとなり、ビット列Ｓ２１と信号ＳＣＭＰが一致し続けるときのみハイレベルを示す。
一度でもどちらかの条件を満たさないと、比較器２２の出力制御信号Ｓ２２はローレベルとなり、それは再びリセット信号ＲＳＴが有効とならない限りハイレベルになることは無い。
【００４６】
集積回路２０が提供する機能を実現するための機能対象回路２３は、比較器２２の出力制御信号Ｓ２２がハイレベルであるときに限り一部、もしくは全部が動作するようになっている。
このため、制御信号Ｓ２２がローレベルとなると集積回路２０の提供する機能が動作しなくなることとなる。
【００４７】
また、集積回路２０全体の動作を初期化するリセット信号は、図１〜３のリセット信号ＲＳＴと同一である。また、集積回路２０全体の動作の基準となるクロック信号は図１〜３のクロック信号ＲＣＬＫと同一である。
また、それらは機能対象回路２３にも供給されるため、比較器２２やビット列生成器２１のみ停止させて、機能対象回路２３のみ動作させるということも不可能である。
【００４８】
次に、図１で説明したシステムにおいて、集積回路２０の正規の利用者が集積回路２０を利用する場合を考察する。
【００４９】
前記までで述べたように、集積回路２０の機能を有効にするためには、利用者は集積回路２０に対して、集積回路の利用要求信号ＵＲＱＳに利用要求を示す状態を入力する。
そして、利用者は、信号ＳＣＭＰに対して、集積回路２０に内蔵されているビット列生成器２１が出力するビット列Ｓ２１とまったく同じビット列を入力し続ける必要がある。
【００５０】
すなわち、集積回路２０の利用者は、信号ＳＣＭＰであるビット列ＢＳＱＣを動作基準クロック信号ＲＣＬＫに同期させて発生させる必要がある。
このための一つの例として、たとえば集積回路２０のビット列生成器２１と全く同一のビット列生成器３１が形成された集積回路（図１の符号３０で示す回路）を利用する。
集積回路は、いわゆる鍵デバイス３０として機能することになり、鍵デバイス３０を保持する者のみが、集積回路２０を利用できることになる。
【００５１】
信号ＳＣＭＰであるビット列ＢＳＱＣは容易に推測できない長周期のビット列であり、集積回路２０を利用し続ける限り、ビット列を入力し続ける必要がある。
このため、集積回路である鍵デバイス３０を持たない者が、ビット列ＢＳＱＣを長期間偽造し続け、集積回路２０を不正に利用し続けることは困難となる。
【００５２】
また、一度でも集積回路２０の内部ビット列生成器２１が出力する信号と異なる信号をビット列ＢＳＱＣとして入力した場合、その時点で集積回路２０は利用不可能になる。
そして、再度、動作させるためにはリセット信号ＲＳＴを有効にして、集積回路２０をリセットし、最初から動作を行う必要がある。
これにより、集積回路２０の不正利用は、よりいっそう困難となる。
【００５３】
また、集積回路である鍵デバイス３０を厳密に管理することにより、集積回路２０の利用者を特定の人物に制限できる。
集積回路２０および鍵デバイス３０の内部の回路設計データ、すなわちビット列生成アルゴリズムを利用者に開示する必要は無いため、開発時のデータを厳密に管理すれば、その構造が流出することは無い。
また、集積回路である鍵デバイス３０を与えられ集積回路２０を利用する者も、鍵デバイス３０が生成するビット列Ｓ３１を集積回路（３０）無しで再現することは困難なである。このため、既存技術のように、集積回路２０の機能を利用するための、いわゆるパスワードや信号が電子媒体などを通じて比較的安易に流出することも防止できる。
【００５４】
次に、本実施形態に係る集積回路を含む情報処理システムの利用形態について説明する。
【００５５】
図４並びに図５および図６は、本発明の利用形態の例を示す図である。
【００５６】
近年の大規模な集積回路には、製造時にその機能を容易に検査するための試験機能が搭載されているのが一般的である。
【００５７】
また、中央処理演算装置（ＣＰＵ）などが搭載された集積回路においては、ＣＰＵで動作させるプログラムを開発するために使用する、オンチップエミュレータなどのデバッグ機能も搭載されている。
【００５８】
しかし、この試験のための機能やデバッグ機能は、個人情報や課金情報などを扱う、機密性の求められる集積回路においては、悪意ある第三者が内部の情報を不正に入手する手段を与えることになる。
そのため、許可された者(この場合は試験実施者やプログラム開発者)以外には機能を利用させない処置が必要となる。
【００５９】
図４は、本発明の利用形態の第１例を示す図である。
【００６０】
図４の例では、上記処置のために図１で説明した仕組みを利用している。
集積回路の試験を行うテスター４０と、被試験対象デバイスである集積回路２０を電気的に接続するためのテストボード５０に、集積回路である鍵デバイス３０が実装されている。
【００６１】
テスター４０は、集積回路２０の試験機能を有効とするための試験要求信号ＴＲＱＳを有効とするとともに、被測定デバイスである集積回路２０および鍵デバイス３０に動作基準クロック信号ＲＣＬＫを入力する。
後は、図１と同様の仕組みで、試験機能有効信号ＴＦＶＬＤが有効となる。集積回路２０は、この試験機能有効信号ＴＦＶＬＤが有効と示しているときのみ試験機能を有効とするため、集積回路２０への試験が実施できることになる。
【００６２】
また、図５および図６は、集積回路２０に搭載されたオンチップエミュレータなどのデバッグ機能に対して本発明を適用した例を示す図である。
【００６３】
集積回路２０に搭載されたＣＰＵ上で動作させるプログラムを開発するために、集積回路２０が実装された基板６０に対して、デバッグ用インターフェース機器７０を介してホストコンピュータ８０により通信を行う。
このような、集積回路２０のデバッグ機能を利用する図５に示すようなケースを例に挙げる。
【００６４】
基板６０には対象となる集積回路２０と共に鍵デバイス３０も共に実装されている。
この鍵デバイス３０は、図４で説明した例と同様の仕組みで集積回路２０のデバッグ機能を有効とするビット列を生成して、集積回路２０に供給する。
【００６５】
たとえば、図６に示すように、集積回路２０の内部制御信号Ｓ２２がハイレベルのときのみ、デバッグ用インターフェース機器７０からのデバッグ用入力信号Ｓ７０ｉｎを内部の機能対象２３Ａに通過させる。集積回路２０の内部制御信号Ｓ２２は図１で説明したものと同様、鍵デバイス３０から供給されるビット列が正しい期間ハイレベルを示す。
同様に、機能対象２３Ａからのデバッグ用出力信号Ｓ７０outも制御信号Ｓ２２がハイのときのみデバッグ用インターフェース機器７０を通過させる。なお、図６において、２４−１，２４−２はセレクタを示す。
これにより、制御信号Ｓ２２をハイレベルに示し続けない限り、すなわち、鍵デバイス３０から正しいビット列を集積回路２０に入力し続けない限り、集積回路２０のデバッグ機能を使用することはできなくなる。
【００６６】
これらの施策により、集積回路２０の出荷後は、当然集積回路である鍵デバイス３０は一般には存在しないため、集積回路２０の利用者は試験機能やデバッグ機能を利用することはできない。
また、集積回路２０に市場不良が発生して、製造元でその原因の解析が必要な場合も、集積回路である鍵デバイス３０さえあれば、再度試験機能やデバッグ機能を出荷前と同等に利用することができる。
【００６７】
これらのことより、既存技術のように、一度機能を無効化した後は、再度機能を有効にすることが困難ということが無くなる。
集積回路である鍵デバイスを許可された者にだけ配布して、その鍵デバイス３０を厳密に管理すれば、集積回路内部のビット列生成のアルゴリズムを利用者に開示する必要も無い。
このため、集積回路２０の試験機能やデバッグ機能を利用するためのデータが電子媒体などを通じて比較的安易に流出することも防止できる。
【００６８】
図７は、本発明の第２の実施形態に係る集積回路を採用した情報処理システムの構成例を示すブロック図である。
【００６９】
本第２の実施形態の情報処理システム１０Ａが第１の実施形態の情報処理システム１０と異なる点は、ビット列生成器２１Ａ，３１Ａが異なる点と、集積回路２０Ａ側に乱数発生器２５を形成し、この乱数をビット列生成器２１Ａ，３１Ａに供給する点にある。
【００７０】
このため、集積回路２０Ａには、乱数発生器２５で発生された乱数である不確定なビット列Ｓ２５が供給され、外部に出力するための端子Ｔ２５が形成されている。
同様に、鍵デバイス３０Ａには、たとえば集積回路２０Ａ側で発生された乱数が供給され、この乱数をビット列生成器３１Ａに供給するための端子Ｔ３４が形成されている。
【００７１】
集積回路２０Ａに内蔵されたビット列生成器２１Ａは、図１のものとは異なり、生成するビット列を形成するための種データを設定できる機能を有している。
たとえば、これは前述した非特許文献１でいうところのＸＳＥＥＤに相当し、この設定データが異なると、ビット列生成器２１Ａが生成するビット列Ｓ２１Ａは異なるものになる。
【００７２】
また、集積回路２０に内蔵された乱数生成器２５は、ビット列生成器２１Ａ，３１Ａとは異なり、リセット信号ＲＳＴが解除されるたびに不確定なビット列を生成する機能を有する。
それは、たとえば物理乱数生成器により形成される。
【００７３】
この物理乱数生成器は、雑音を発生するノイズ源と、ノイズ源に接続された第１のスイッチと、第１のスイッチに接続された容量と、容量に入力が接続された第１の反転増幅器と、第１の反転増幅器の出力に入力が接続された第２の反転増幅器と、有している。
物理乱数生成器は、さらに、第１の反転増幅器の入力および出力間に接続された第２のスイッチと、第２の反転増幅器の出力および第１の反転増幅器の入力間に接続された第３のスイッチと、を有する。
【００７４】
そして、物理乱数生成器においては、第１の状態から第５の状態となる処理を連続して行う。
第１の状態では、第１のスイッチ素子、第２のスイッチ素子、および第３のスイッチ素子を非導通状態にする。
第２の状態では、第１のスイッチ素子および第３のスイッチ素子を非導通状態にし、第２のスイッチ素子を導通状態にする。
第３の状態では、第１のスイッチ素子、第２のスイッチ素子、および第３のスイッチ素子を非導通状態にする。
第４の状態では、第１のスイッチ素子を導通状態にし、第２のスイッチ素子および第３のスイッチ素子を非導通状態にする。
第５の状態では、第１のスイッチ素子および第２のスイッチ素子を非導通状態にし、第３のスイッチ素子を導通状態にする。
【００７５】
このような物理乱数発生器は、たとえば[特許文献３：特開２００３−２９６１０１号公報 / 特許３６００５９２号]等に開示されている。
【００７６】
図７の第２の実施形態では、リセット信号ＲＳＴが解除されると、乱数生成器２５が生成する不確定なビット列Ｓ２５がビット列生成器２１Ａに設定される。
これと並行して、ビット列Ｓ２５は、集積回路２０の外部に出力され、鍵デバイス３０Ａに入力され、鍵デバイス３０Ａに内蔵された、ビット列生成器２１Ａと同等の第２のビット列生成器３１Ａに設定される。
【００７７】
乱数生成器２５が生成するビット列Ｓ２５は不確定な信号のため、ゆえにビット列生成器２１Ａが生成するビット列Ｓ２２、およびビット列生成器３１Ａが生成するビット列Ｓ３１Ａ（ＢＳＱＣ）は、リセット解除のたびに異なるビット列が生成されることとなる。
【００７８】
後は、図１での説明と同様に、鍵デバイス３０Ａから出力されたビット列Ｓ３１Ａが集積回路２０に比較対象信号ＳＣＭＰであるビット列ＢＳＱＣとして入力され、集積回路２０内部のビット列生成器２１Ａの出力のビット列Ｓ２１Ａと比較器２２で比較される。
ビット列ＢＳＱＣとビット列Ｓ２１Ａが一致することにより、集積回路２０の機能を利用することができる。
【００７９】
本第２の実施形態によれば、リセット解除のたびに必要となるビット列ＢＳＱＣが異なるため、鍵デバイス３０Ａを持たないものには、よりいっそう不正な利用が困難になる。
【００８０】
以上説明したように、本実施形態によれば、以下の効果を得ることができる。
本実施形態の機能を備えた集積回路においては、集積回路の各機能を有効とするために、内部のビット列生成器の出力と全く同一の信号を必要とするようにしたので、意図しない利用者による集積回路の機能の不正な利用を抑止して、集積回路のセキュリティ強度の向上を実現できる。
また図５の実施形態に従えば、認証の為に必要となる信号が毎回異なるため、集積回路の不正な利用がより一層困難となる。
【００８１】
また、本発明を、試験機能に利用すれば、製造時の試験では大きな制約なく試験機能を利用でき、かつ、市場出荷後にはその機能を不正に利用することを抑止でき、なおかつ、再度製造元で試験を必要とする場合も、出荷前と同等に試験機能を利用することができる。
【００８２】
また本発明を、デバッグ機能に利用すれば、プログラム開発作業は大きな制約なくデバッグ機能を利用でき、かつ、市場出荷後にはその機能を不正に利用することを抑止でき、なおかつ、再度製造元でデバッグ機能を必要とする場合も、出荷前と同等にデバッグ機能を利用することができる。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施形態に係る集積回路を採用した情報処理システムの構成例を示すブロック図である。
【図２】図１のビット列生成器の構成例を示す図である。
【図３】図１の比較器の具体的な構成例を示す回路図である
【図４】本発明の利用形態の第１例を示す図である。
【図５】集積回路に搭載されたオンチップエミュレータなどのデバッグ機能に対して本発明を適用した例を示す第１図である。
【図６】集積回路に搭載されたオンチップエミュレータなどのデバッグ機能に対して本発明を適用した２例を示す第２図である。
【図７】本発明の第２の実施形態に係る集積回路を採用した情報処理システムの構成例を示すブロック図である。
【符号の説明】
【００８４】
１０，１０Ａ・・・情報処理システム、２０，２０Ａ・・・集積回路、２１，２１Ａ・・・ビット列生成器、２２・・・比較器、２３・・・機能対象回路、２５・・・乱数発生器、３０，３０Ａ・・・鍵デバイス、３１，３１Ａ・・・第２のビット列生成器、４０・・・テスター、５０・・・テストボード、６０・・・基板、７０・・・デバッグ用インターフェース機器、８０・・・コンピュータ。
【図１】
2010009421.tif 000003
【図２】
2010009421.tif 000004
【図３】
2010009421.tif 000005
【図４】
2010009421.tif 000006
【図５】
2010009421.tif 000007
【図６】
2010009421.tif 000008
【図７】
2010009421.tif 000009