(57)【要約】【課題】半導体集積回路のセキュリティレベルをハードウェア的に向上させることのできるリセット制御回路を提供する。【解決手段】リセット制御回路１は、メモリ１１に、リセット解除タイミングの設定値が予め書き込まれ、カウンタ１２が、電源が投入されるとフリーラン動作し、トリガ信号出力部１３が、カウンタ１２からのオーバーフロー信号の出力ごとにトリガ信号を出力し、キャプチャ部１４が、トリガ信号の出力後に入力リセット信号がリセット解除状態になったときのカウンタ１２のカウント値をキャプチャし、比較部１５が、キャプチャ部１４にキャプチャされたカウント値がメモリ１１に格納されたリセット解除タイミング設定値と一致するかどうかを比較し、ＡＮＤゲート１６が、比較部１５の出力とリセット信号との論理積をとり、内部リセット信号として出力する。【選択図】図１
2011003031.tif 000002
【特許請求の範囲】
【請求項１】
リセット解除タイミングの設定値が予め書き込まれる記憶手段と、
トリガ信号を出力するトリガ信号出力手段と、
前記トリガ信号の出力からリセット信号がリセット解除状態になるまでの期間を計測する計測手段と、
前記計測手段による計測値が前記記憶手段に書き込まれた前記設定値と一致するかどうかを比較する比較手段と、
前記比較手段の比較結果が一致のときは、前記リセット信号の前記リセット解除状態を内部回路へ伝達し、前記比較手段の比較結果が不一致のときは、前記リセット信号の前記リセット解除状態の内部回路への伝達を阻止するリセット解除制御手段と
を備えることを特徴とするリセット制御回路。
【請求項２】
前記比較手段が、
入力されたイネーブル信号がイネーブルを示すときに前記比較動作を実行し、前記イネーブル信号がディセーブルを示すときは前記一致を示す信号を出力する
ことを特徴とする請求項１に記載のリセット制御回路。
【請求項３】
イネーブル／ディセーブルの設定が外部から書き込まれるイネーブル設定レジスタをさらに有し、
前記イネーブル信号のイネーブル／ディセーブルの切り替えが、前記イネーブル設定レジスタを読み出すことにより行われる
ことを特徴とする請求項２に記載のリセット制御回路。
【請求項４】
前記比較手段の比較結果が不一致のときに、その不一致の回数が所定の値に達するまで、前記計測手段が、新たに入力されたリセット信号に対する前記期間の計測を繰り返す
ことを特徴とする請求項１乃至３のいずれか１項に記載のリセット制御回路。
【請求項５】
リセット解除タイミングの設定値が予め書き込まれる記憶手段と、
トリガ信号を出力するトリガ信号出力手段と、
前記トリガ信号の出力からリセット信号がリセット解除状態になるまでの期間を計測する計測手段と、
前記計測手段による計測値が前記記憶手段に書き込まれた前記設定値と一致するかどうかを比較する比較手段と、
前記比較手段の比較結果を格納するレジスタ手段と
を備え、
リセット解除後、読み出し要求に応じて前記レジスタ手段から前記比較結果が読み出される
ことを特徴とするリセット制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リセット制御回路に関する。
【背景技術】
【０００２】
ＭＣＵに内蔵されるメモリに、機密保持を要する情報が書き込まれた場合、その情報が第三者によって不正に読み出されることを禁止する必要がある。そのため、従来、パスワードによりセキュリティの保護を図ることが行われている。
【０００３】
例えば、入力されたキーコード（パスワード）が、内蔵の記憶手段に記憶されたキーコードと一致したときのみ、内蔵メモリからのデータの読み出しを可能とするセキュリティ回路内蔵マイクロコントローラが提案されている（例えば、特許文献１参照。）。
【０００４】
しかし、パスワード方式では、専用装置等を使用した解析などにより、不正アクセスを試みる者に、短時間でパスワードを突き止められるおそれがある。
【０００５】
すなわち、数字／文字の組み合わせからなるパスワードのような、ソフトウェア的なセキュリティ保護だけでは、高いセキュリティレベルが必ずしも得られない、という問題がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−２７１５１号公報  （第３−４ページ、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
そこで、本発明の目的は、半導体集積回路のセキュリティレベルをハードウェア的に向上させることのできるリセット制御回路を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一態様によれば、リセット解除タイミングの設定値が予め書き込まれる記憶手段と、トリガ信号を出力するトリガ信号出力手段と、前記トリガ信号の出力からリセット信号がリセット解除状態になるまでの期間を計測する計測手段と、前記計測手段による計測値が前記記憶手段に書き込まれた前記設定値と一致するかどうかを比較する比較手段と、前記比較手段の比較結果が一致のときは、前記リセット信号の前記リセット解除状態を内部回路へ伝達し、前記比較手段の比較結果が不一致のときは、前記リセット信号の前記リセット解除状態の内部回路への伝達を阻止するリセット解除制御手段とを備えることを特徴とするリセット制御回路が提供される。
【０００９】
また、本発明の別の一態様によれば、リセット解除タイミングの設定値が予め書き込まれる記憶手段と、トリガ信号を出力するトリガ信号出力手段と、前記トリガ信号の出力からリセット信号がリセット解除状態になるまでの期間を計測する計測手段と、前記計測手段による計測値が前記記憶手段に書き込まれた前記設定値と一致するかどうかを比較する比較手段と、前記比較手段の比較結果を格納するレジスタ手段とを備え、リセット解除後、読み出し要求に応じて前記レジスタ手段から前記比較結果が読み出されることを特徴とするリセット制御回路が提供される。
【発明の効果】
【００１０】
本発明によれば、半導体集積回路のセキュリティレベルをハードウェア的に向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例１に係るリセット制御回路の構成の例を示すブロック図。
【図２】トリガ信号とリセット信号の関係を示す説明図。
【図３】本発明の実施例２に係るリセット制御回路の構成の例を示すブロック図。
【図４】本発明の実施例３に係るリセット制御回路の構成の例を示すブロック図。
【図５】本発明の実施例４に係るリセット制御回路の構成の例を示すブロック図。
【図６】本発明の実施例５に係るリセット制御回路の構成の例を示すブロック図。
【図７】実施例５のリセット制御回路から出力される比較結果の利用例を示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施例について図面を参照して説明する。ここで、各実施例のリセット制御回路は、ＭＣＵなどの半導体集積回路に搭載され、半導体集積回路内で使用される内部リセット信号を供給するものである。また、内部リセット信号が論理‘０’のとき、半導体集積回路の内部回路にリセットが掛かり、内部リセット信号が論理‘１’へ変化すると、リセットが解除されるものとする。なお、図中、同一または相当部分には同一の符号を付して、その説明は繰り返さない。
【実施例１】
【００１３】
図１は、本発明の実施例１に係るリセット制御回路の構成の例を示すブロック図である。
【００１４】
本実施例のリセット制御回路１は、リセット解除タイミングの設定値が予め書き込まれたメモリ１１と、電源が投入されるとフリーラン動作を開始するカウンタ１２と、カウンタ１２のカウントが１周してオーバーフロー信号を出力するごとにトリガ信号を出力するトリガ信号出力部１３と、トリガ信号の出力後、外部から入力されるリセット信号がリセット解除状態になったときのカウンタ１２のカウント値をキャプチャするキャプチャ部１４と、キャプチャ部１４にキャプチャされたカウント値がメモリ１１に書き込まれたリセット解除タイミング設定値と一致するかどうかを比較し、一致するときは論理‘１’を出力し、不一致のときは論理‘０’を出力する比較部１５と、比較部１５の出力とリセット信号との論理積をとり、内部リセット信号を出力するＡＮＤゲート１６と、を備える。
【００１５】
ここで、本実施例のリセット制御回路１へ入力されるリセット信号は、ユーザにより生成され、そのリセット解除タイミングは、トリガ信号を基準として任意のタイミングに設定するよう、規定されている。
【００１６】
図２（ａ）に、ユーザ側が備えるリセット信号生成回路１００の例を示す。
【００１７】
リセット信号生成回路１００は、トリガ信号出力部１３から出力されるトリガ信号を受けて、ユーザにより設定されたリセット解除タイミングに応じて、リセット信号のリセット状態を解除する。
【００１８】
このとき、正規のユーザのみが、メモリ１１に書き込まれたリセット解除タイミングの設定値を知っており、正規のユーザは、メモリ１１に書き込まれたリセット解除タイミングの設定値に合わせて、リセット信号生成回路１００のリセット解除タイミングを設定する。
【００１９】
図２（ｂ）に、トリガ信号とリセット信号のタイミング関係を波形図で示す。
【００２０】
本実施例のキャプチャ部１４には、トリガ信号が出力されてからリセット信号がリセット解除状態になるまでの期間が、カウンタ１２のカウント値としてキャプチャされる。
【００２１】
比較部１５は、キャプチャ部１４にキャプチャされたカウント値が、メモリ１１に書き込まれたリセット解除タイミング設定値と一致するかどうかを比較する。その結果、両者の値が一致するときは、論理‘１’を出力し、両者の値が不一致のときは、論理‘０’を出力する。
【００２２】
ＡＮＤゲート１６は、比較部１５から論理‘１’が出力されたときはリセット信号を通過させ、比較部１５から論理‘０’が出力されたときはリセット信号の通過を阻止し、論理‘０’を出力する。
【００２３】
すなわち、キャプチャ部１４にキャプチャされたカウント値とメモリ１１に書き込まれたリセット解除タイミング設定値が一致するときは、リセット信号のリセット解除状態が、内部リセット信号へ伝播し、半導体集積回路の内部回路へ伝達される。
【００２４】
一方、キャプチャ部１４にキャプチャされたカウント値とメモリ１１に書き込まれたリセット解除タイミング設定値が不一致のときは、内部リセット信号が論理‘０’のままとなり、半導体集積回路の内部回路は、リセット状態が継続する。
【００２５】
すなわち、リセット解除タイミングを適当に設定しても、メモリ１１に書き込まれたリセット解除タイミングの設定値と偶然に一致することが殆どないため、半導体集積回路の内部回路をリセット状態から解放することができない。したがって、内蔵のメモリへのアクセスなどを行うことできす、第三者による不正アクセスを防止することができる。
【００２６】
その場合、カウンタ１２の最大カウント数が大きいほど、セキュリティレベルは向上する。
【００２７】
このような本実施例によれば、メモリ１１に書き込まれたリセット解除タイミングの設定値を知らない第三者が、リセット解除タイミングを適当に設定しても、半導体集積回路の内部回路をリセット状態から解放することが事実上不可能なため、内蔵メモリへの不正アクセスを防止することができる。
【００２８】
また、パスワード方式の場合、一般に、パスワードの入力をユーザに要求するため、パスワードによるセキュリティ保護方式であることが第三者に知られてしまい、セキュリティ突破の手掛かりを与えてしまう。それに対して、本実施例の方式では、リセット信号に関するハードウェアの仕様がセキュリティ保護の鍵となっているため、どのようなセキュリティ保護方式を採用しているかを第三者に知られることがない。すなわち、セキュリティ保護方式自体を秘密にすることができるので、セキュリティレベルを一層向上させることができる。
【実施例２】
【００２９】
フラッシュメモリ内蔵のＭＣＵなど、フラッシュメモリ書き換えモードと、通常動作モードとを有している半導体集積回路では、フラッシュメモリ書き換えモードのときには、セキュリティ保護が必要とされる。そこで、本実施例では、必要に応じて、リセット解除タイミングに対するチェックを行うことのできるリセット制御回路の例を示す。
【００３０】
図３は、本発明の実施例２に係るリセット制御回路の構成の例を示すブロック図である。
【００３１】
本実施例のリセット制御回路２は、基本的に、実施例１のリセット制御回路１と同じ構成を有するが、本実施例が、実施例１と異なる点は、比較部２５へ、イネーブル信号が入力されている点である。
【００３２】
比較部２５は、入力されたイネーブル信号がイネーブルを示すときは、実施例１の比較部１５と同じく、キャプチャ部１４にキャプチャされたカウント値がメモリ１１に書き込まれたリセット解除タイミング設定値と一致するかどうかを比較し、一致するときは論理‘１’を出力し、不一致のときは論理‘０’を出力する。
【００３３】
一方、入力されたイネーブル信号がディセーブルを示すときは、比較部２５は、上述の比較動作を行わず、常に論理‘１’を出力する。
【００３４】
これにより、イネーブル信号がディセーブルを示すときは、ＡＮＤゲート１６は、入力されたリセット信号をそのまま通過させて、内部リセット信号とする。
【００３５】
したがって、例えば、フラッシュメモリ書き換えモードに合わせて、イネーブル信号がイネーブルとされると、このときのみ、比較部２５は、キャプチャ部１４にキャプチャされたカウント値とメモリ１１に書き込まれたリセット解除タイミング設定値との比較を行う。
【００３６】
このような本実施例によれば、イネーブル信号による指示に従って、リセット解除タイミングに対するチェックの実行／不実行の切り替えを行うことができる。
【実施例３】
【００３７】
実施例２では、イネーブル信号の入力により、リセット解除タイミングに対するチェックの実行／不実行が切り換えられる例を示したが、本実施例では、ＣＰＵにより書き込まれるレジスタの値により、リセット解除タイミングに対するチェックの実行／不実行が切り換えられる例を示す。
【００３８】
図４は、本発明の実施例３に係るリセット制御回路の構成の例を示すブロック図である。
【００３９】
本実施例のリセット制御回路３は、実施例２のリセット制御回路２に、レジスタ３１を追加した構成を有する。
【００４０】
レジスタ３１は、ＣＰＵ（不図示）から出力されるイネーブル設定信号により、比較部２５へ与えるイネーブル信号をイネーブルとするか、ディセーブルとするかの設定が書き込まれる。
【００４１】
比較部２５は、レジスタ３１に書き込まれた設定に応じて、リセット解除タイミングに対するチェックの実行／不実行の切り換えを行う。
【００４２】
このような本実施例によれば、レジスタ３１の初期設定値をディセーブルとしておき、ＣＰＵ動作中にイネーブルを書き込むようにすると、リセット解除タイミングに対するチェックを、半導体集積回路の起動時は無効とし、ＣＰＵ動作中に有効に切り替えられるようにすることができる。
【００４３】
これにより、例えば、ＣＰＵで実行するプログラムにレジスタ３１に対する設定値を書き込んでおけば、そのプラグラムの実行により、リセット解除タイミングに対するチェックを有効とするよう、切り替えることができる。
【００４４】
また、その場合、内蔵メモリへのアクセスを許可するためには、信号入力など、プログラムで必要とされる手続きを実行することで、内蔵メモリへのアクセスを許可される状態（この状態はプログラムによって設定される）にし、かつその後のリセットを有効にして解除する際のリセット解除タイミングを規定のタイミングで実施する必要がある。その結果、内蔵メモリアクセスに対するセキュリティレベルを向上させることができる。
【実施例４】
【００４５】
上述の各実施例で、キャプチャ部１４によるキャプチャを１回のみしか行わないようにすると、リセット解除タイミングを試行錯誤的に変化させるような不正アクセスの試みを防止することができる。その場合、メモリ１１に格納されたリセット解除タイミング設定値との不一致が１回発生しただけで、内部リセット信号をリセット解除状態にすることができなくなる。ところが、リセット信号のリセット解除タイミングを正しく設定していても、偶発的に発生するノイズやディレイ変動などにより、リセット解除タイミング設定値との不一致が発生することがある。その場合、１回の不一致発生だけで、内部リセット信号がリセット解除とならないのは不都合である。そこで、本実施例では、不一致発生回数に許容値を設け、許容範囲内であれば、リセット解除動作の繰り返しを可能とするようにした例を示す。
【００４６】
図５は、本発明の実施例４に係るリセット制御回路の構成の例を示すブロック図である。図５では、実施例１のリセット制御回路に、上述のリセット解除動作の繰り返しを可能とする機能を追加した例を示すが、実施例２あるいは実施例３のリセット制御回路に、同様の機能を追加することも、もちろん可能である。
【００４７】
本実施例のリセット制御回路４は、実施例１のリセット制御回路１に、比較部１５で発生する不一致の回数をカウントするカウンタ４１と、その不一致回数の許容値を格納するメモリ４２と、カウンタ４１のカウント値をメモリ４２に格納された不一致回数許容値と比較し、キャプチャ部１４のキャプチャ実行の許可／禁止を制御するキャプチャ制御部４３とを、追加したものである。
【００４８】
キャプチャ制御部４３は、キャプチャ部１４に対して、カウンタ４１のカウント値が不一致回数許容値未満であるときは、キャプチャの実行を許可し、カウンタ４１のカウント値が不一致回数許容値に達すると、キャプチャの実行を禁止する。
【００４９】
これにより、キャプチャ部１４は、カウンタ４１のカウント値が不一致回数許容値未満である間、リセット解除動作があるごとに、キャプチャ動作を繰り返す。
【００５０】
また、比較部１５は、キャプチャ部１４にキャプチャされたカウント値とメモリ１１に書き込まれたリセット解除タイミング設定値との比較を繰り返す。
【００５１】
その結果、この間に、リセット解除タイミング設定値に一致するカウント値がキャプチャ部１４から得られた場合、内部リセット信号は、リセット解除状態になる。
【００５２】
また、この場合、カウンタ４１のカウント値はクリアされる。
【００５３】
一方、カウンタ４１のカウント値が不一致回数許容値に達した場合、キャプチャ部１４のキャプチャ実行が禁止されるため、それ以降に、新たなリセット解除動作が行われても、キャプチャ部１４から出力されるカウント値は更新されない。したがって、比較部１５の比較結果は不一致のままであり、内部リセット信号はリセット状態のままとなる。
【００５４】
このような本実施例によれば、偶発的な誤動作などにより内部リセット信号がリセット解除状態にならなくなることを防止することができる。
【実施例５】
【００５５】
上述の各実施例で示したリセット解除許可のみの機能であれば、電源電流の変動等をモニタすることにより、リセット信号解除タイミングの操作が、セキュリティ保護に関っているかどうかを、第三者でも識別できる可能性がある。そこで、本実施例では、リセット信号解除タイミングが、セキュリティ保護に関っているかどうかの識別が、第三者には極めて困難である方式の例を示す。
【００５６】
図６は、本発明の実施例５に係るリセット制御回路の構成の例を示すブロック図である。
【００５７】
本実施例のリセット制御回路５は、リセット解除タイミングの設定値が予め書き込まれたメモリ１１と、電源が投入されるとフリーラン動作を開始するカウンタ１２と、カウンタ１２のカウントが１周してオーバーフロー信号を出力するごとにトリガ信号を出力するトリガ信号出力部１３と、トリガ信号の出力後、外部から入力されるリセット信号がリセット解除状態になったときのカウンタ１２のカウント値をキャプチャするキャプチャ部１４と、キャプチャ部１４にキャプチャされたカウント値がメモリ１１に書き込まれたリセット解除タイミング設定値と一致するかどうかを比較する比較部１５と、比較部１５の出力を格納するレジスタ５１と、を備える。
【００５８】
レジスタ５１は、ＣＰＵなどからの読み出し要求があると、格納している、比較部１５による比較結果を出力する。
【００５９】
一方、本実施例では、外部から入力されたリセット信号が、そのまま内部リセット信号として出力される。したがって、外部から入力されるリセット信号のリセット解除タイミングがどのように設定されていても、内部リセット信号はリセット解除される。
【００６０】
その代わり、リセット解除後の動作中に、ユーザ認証の必要が生じたような場合、レジスタ５１に格納された比較部１５の比較結果が読み出され、正規のユーザであるかどうかの判定に用いられる。
【００６１】
図７に、そのようなユーザ認証を行うユーザ認証部の例を示す。ここでは、本実施例によるリセット解除タイミングの判定のほかに、パスワード比較も併用される例を示す。
【００６２】
図７に示すユーザ認証部２００は、認証要求があると、リセット制御回路５へ読み出し要求を出力し、レジスタ５１に格納されている比較部１５の比較結果を読み出す。
【００６３】
ユーザ認証部２００は、この比較部１５の比較結果と、入力されたパスワードをもとに、認証要求を行ったユーザが正規のユーザであるかどうかを判定し、認証結果として出力する。
【００６４】
このような本実施例によれば、リセット解除後に、要求に応じて、リセット解除タイミングに関する比較-結果をいつでも提供することができる。
【００６５】
これにより、他のセキュリティ方式が併用される場合、他のセキュリティ方式によるユーザ認証のタイミングに応じて、リセット解除タイミングに関する比較-結果を提供することができる。
【００６６】
他のセキュリティ方式と併用されることにより、ユーザ認証が拒否された場合、その原因が、リセット解除タイミングの不一致にあるのか、他のセキュリティ方式における不一致にあるのか、第三者には判別することが極めて困難である。その結果、悪意を持った第三者による不正アクセスに対するセキュリティレベルをさらに向上させることができる。
【符号の説明】
【００６７】
１〜５  リセット制御回路
１１、４２  メモリ
１２、４１  カウンタ
１３  トリガ信号出力部
１４  キャプチャ部
１５、２５  比較部
１６  ＡＮＤゲート
３１、５１  レジスタ
４３  キャプチャ制御部
【図１】
2011003031.tif 000003
【図２】
2011003031.tif 000004
【図３】
2011003031.tif 000005
【図４】
2011003031.tif 000006
【図５】
2011003031.tif 000007
【図６】
2011003031.tif 000008
【図７】
2011003031.tif 000009