(57)【要約】【課題】消費電流を不必要に増大させることなく、消費電流波形を観測することによるデータの再生を困難にして、データ処理の手順や処理されるデータの保護性能を向上させた半導体集積回路装置を提供する。【解決手段】内部クロックに同期して動作する複数の内部回路を備えた半導体集積回路装置であって、所定周期の第１のクロックを生成するクロック生成回路と、第１のクロックから一部のパルスを間引いた間欠するパルス列である第２のクロックを生成し、内部クロックとして内部回路にそれぞれ供給する間欠クロック生成回路と、第１のクロックから間引かれるパルス列である第３のクロックのタイミングで電源電流を消費する電流発生回路とを有する構成とする。【選択図】  図１
2004302575.tif 000002
【特許請求の範囲】
【請求項１】
内部クロックに同期して動作する複数の内部回路を備えた半導体集積回路装置であって、
所定周期の第１のクロックを生成するクロック生成回路と、
前記第１のクロックから一部のパルスを間引いた間欠するパルス列である第２のクロックを生成し、前記内部クロックとして前記内部回路にそれぞれ供給する間欠クロック生成回路と、
第１のクロックから間引かれるパルス列である第３のクロックのタイミングで電源電流を消費する電流発生回路と、
を有する半導体集積回路装置。
【請求項２】
前記間欠クロック生成回路は、
時間軸上で出力データが変化する変動データ出力回路と、
前記変動データ出力回路の出力データにしたがって前記第３のクロックを生成するタイミング生成回路と、
前記第３のクロックと前記クロック生成回路から出力される第１のクロックとを入力とし、前記第３のクロックのタイミングで前記第１のクロックの出力を停止することで前記第２のクロックを生成する同期回路と、
を有する請求項１記載の半導体集積回路装置。
【請求項３】
複数の前記電流発生回路から成る電流発生回路群と、
予め設定された値にしたがって、前記電源電流を消費させる前記電流発生回路を選択する回路選択レジスタと、
を有する請求項１または２記載の半導体集積回路装置。
【請求項４】
複数の前記電流発生回路から成る電流発生回路群と、
前記変動データ出力回路の出力データにしたがって、前記電源電流を消費させる前記電流発生回路を選択する回路選択レジスタと、
を有する請求項１または２記載の半導体集積回路装置。
【請求項５】
前記変動データ出力回路は、
乱数を生成する乱数発生回路である請求項１乃至４のいずれか１項記載の半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内部クロックに同期して動作する複数の内部回路を備えたマイクロコンピュータ等の半導体集積回路装置に関する。
【０００２】
【従来の技術】
近年、マイクロコンピュータ等の半導体集積回路装置の多くは、高集積化、低消費電流化に有利なＣＭＯＳによって各種内部回路が構成されている。このＣＭＯＳ回路は、出力状態が“１”から“０”あるいは“０”から“１”に変化するときに電源電流を消費する。特に、大きな容量性負荷が接続されるバスラインを半導体集積回路装置内に備えている場合は、バスライン上を流れるデータが“１”から“０”あるいは“０”から“１”に変化するときに大きな電流が消費される。このことは、半導体集積回路装置の消費電流を観測することで半導体集積回路装置の内部で実行されているデータ処理の手順や処理されているデータが読み取られる可能性があることを意味する。すなわち、半導体集積回路装置の消費電流を観測することで、どのようなデータがバスライン上を流れているかが分かり、さらには半導体集積回路装置がどのように動作しているのか、どのようなデータが処理されているのかが読み取られてしまうおそれがある。そこで、消費電流波形の観測によるデータの再生を実質的に不可能にして、半導体集積回路装置内に保存されたユーザーのプログラムやデータを保護することが必要になる。
【０００３】
従来は、プログラムやデータを保護する方法として、プログラムやデータ自体を暗号化する手法が提案され、例えば特許文献１に、暗号化に用いる乱数を生成するための擬似乱数発生回路が記載されている。
【０００４】
【特許文献１】
特許第２９３７９１９号
【０００５】
【発明が解決しようとする課題】
上記消費電流波形のデータ依存性を低減する簡易な手法としては、例えば、データの変化に依存しない所定周期の偽電流を常時半導体集積回路装置内に流す手法が考えられる。
【０００６】
しかしながら、偽電流を常時流す手法では半導体集積回路装置の消費電流が増大するため、該半導体集積回路装置を利用できる用途が限定されてしまう問題がある。また、消費電流波形を観測することで偽電流の存在が判別されるおそれもあるため、プログラムやデータの保護性能が低いという問題もある。
【０００７】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、消費電流を不必要に増大させることなく、消費電流波形を観測することによるデータの再生を困難にして、データ処理の手順や処理されるデータの保護性能を向上させた半導体集積回路装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するため本発明の半導体集積回路装置は、内部クロックに同期して動作する複数の内部回路を備えた半導体集積回路装置であって、
所定周期の第１のクロックを生成するクロック生成回路と、
前記第１のクロックから一部のパルスを間引いた間欠するパルス列である第２のクロックを生成し、前記内部クロックとして前記内部回路にそれぞれ供給する間欠クロック生成回路と、
第１のクロックから間引かれるパルス列である第３のクロックのタイミングで電源電流を消費する電流発生回路と、
を有する構成である。
【０００９】
このとき、前記間欠クロック生成回路は、
時間軸上で出力データが変化する変動データ出力回路と、
前記変動データ出力回路の出力データにしたがって前記第３のクロックを生成するタイミング生成回路と、
前記第３のクロックと前記クロック生成回路から出力される第１のクロックとを入力とし、前記第３のクロックのタイミングで前記第１のクロックの出力を停止することで前記第２のクロックを生成する同期回路と、
を有する構成であってもよい。
【００１０】
また、複数の前記電流発生回路から成る電流発生回路群と、
予め設定された値にしたがって、前記電源電流を消費させる前記電流発生回路を選択する回路選択レジスタと、
を有していてもよく、
複数の前記電流発生回路から成る電流発生回路群と、
前記変動データ出力回路の出力データにしたがって、前記電源電流を消費させる前記電流発生回路を選択する回路選択レジスタと、
を有していてもよい。
【００１１】
また、前記変動データ出力回路は、
乱数を生成する乱数発生回路であってもよい。
【００１２】
上記のように構成された半導体集積回路装置では、第１のクロックから一部のパルスを間引いた間欠するパルス列である第２のクロックを生成し、内部クロックとして内部回路にそれぞれ供給する間欠クロック生成回路と、第１のクロックから間引かれるパルス列である第３のクロックのタイミングで電源電流を消費する電流発生回路とを有することで、内部回路が間欠するパルス列である第２のクロックで動作していても、消費電流波形は内部回路が第１のクロックで動作している通常動作時と同様に変動する。
【００１３】
【発明の実施の形態】
次に本発明について図面を参照して説明する。
【００１４】
（第１の実施の形態）
図１は本発明の半導体集積回路装置の第１の実施の形態の構成を示す回路図であり、図２は図１に示した半導体集積回路装置の動作を示すタイミングチャートである。
【００１５】
図１に示すように、本実施形態の半導体集積回路装置は、中央処理装置（ＣＰＵ）１０３と、記憶装置であるＲＯＭ１０４、ＲＡＭ１０５、及びＥＥＰＲＯＭ１０６と、半導体集積回路装置の外部とデータを送受信するためのインタフェースである入出力ポート（Ｉ／Ｏ）１０７と、所定周期のクロックＡ（第１のクロック）を生成するクロック生成回路１０１と、クロックＡから一部のパルスを間引いた間欠するパルス列であるクロックＣ（第２のクロック）を生成する間欠クロック生成回路１００と、クロックＡから間引かれるパルス列であるクロックＢ（第３のクロック）のタイミングで電源電流を消費する電流発生回路１０２とを有する構成である。
【００１６】
間欠クロック生成回路１００は、乱数を生成する乱数発生回路１０８と、乱数発生回路１０８から出力された乱数を一時的に保持するレジスタ１０９と、乱数発生回路１０８から出力される乱数にしたがって上記クロックＢを生成するタイミング生成回路１１０と、クロックＢ及びクロックＡを入力とし、クロックＢのタイミングでクロックＡの出力を停止することでクロックＣを生成する同期回路１１１とを有する構成である。
【００１７】
なお、図１では半導体集積回路装置の内部回路として、ＣＰＵ１０３、ＲＯＭ１０４、ＲＡＭ１０５、ＥＥＰＲＯＭ１０６、及びＩ／Ｏ１０７を備えた構成を示しているが、内部回路はこれらに限定されるものではなく、半導体集積回路装置は、他の機能を有する不図示の様々な回路を備えている。
【００１８】
第１の実施の形態の半導体集積回路装置は、内部回路を動作させる内部クロックとして、クロックＡから一部のパルスを間引いた間欠するパルス列であるクロックＣを用いる構成であり、さらにクロックＡから間引かれるパルス列であるクロックＢのタイミングで電流発生回路１０２を動作させる構成である。
【００１９】
クロック生成回路１０１は、所定周期のクロックＡを生成して同期回路１１１に供給する。このクロックＡは、間欠するパルス列であるクロックＣを用いない場合に、ＣＰＵ１０３、ＲＯＭ１０４、ＲＡＭ１０５、ＥＥＰＲＯＭ１０６、Ｉ／Ｏ１０７、及び乱数発生回路１０８等の半導体集積回路装置の各種内部回路を同期して動作させるための内部クロックとして使用される。
【００２０】
なお、クロック生成回路１０１は、周知の水晶発振器やリングオシレータ等を用いて内部クロックを発振する回路であってもよく、外部から供給されるクロックから内部クロックを生成する回路であってもよい。また、外部から供給される信号にしたがって、例えば発振出力や発振停止が制御される構成であってもよい。
【００２１】
タイミング生成回路１１０は、乱数発生回路１０８で生成された乱数をレジスタ１０９を介して受け取り、例えば、乱数の値が予め任意に設定された値と一致するときに“１”となるクロックＢを生成する。
【００２２】
同期回路１１１は、クロックＢとクロック生成回路１０１から出力されるクロックＡとを入力とし、クロックＢが“１”のときに出力を停止させて間欠するパルス列であるクロックＣを生成する。このクロックＣを用いて半導体集積回路装置の内部回路（上記ＣＰＵ１０３、記憶装置、Ｉ／Ｏ１０７等）を動作させる。さらに、本実施形態では、電流発生回路１０２をクロックＡから間引かれるパルス列であるクロックＢのタイミングで動作させる。このように動作させることで、内部回路が間欠するパルス列であるクロックＣで動作していても、消費電流波形は内部回路がクロックＡで動作している通常動作時と同様に変動する。したがって、消費電流波形を観測しても通常動作時と区別することが困難であり、かつ消費電流波形からデータとの依存性を解析することが困難になる。
【００２３】
なお、乱数発生回路１０８には、例えば、周知のリニアフィードバックシフトレジスタ（Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）を利用した、擬似乱数を発生する擬似乱数発生回路等を用いればよい。
【００２４】
また、電流発生回路１０２は、例えば、図３に示すように、電源ＶＤＤと接地電位ＧＮＤ間に挿入される、直列に接続された抵抗器Ｒ及びｎチャネルＭＯＳトランジスタＱ１を用いて構成すればよい。この場合、電流発生回路１０２に流れる電流値は抵抗器Ｒの値によって決定される。
【００２５】
次に、本実施形態の半導体集積回路装置の動作について図２を用いて説明する。なお、図２に示すタイミングチャートは、クロックＡにより半導体集積回路装置の内部回路を動作させる通常動作の場合と、電流発生回路１０２をもたずにクロックＣにより半導体集積回路装置の内部回路を間欠して動作させる場合と、クロックＣにより半導体集積回路装置の内部回路を動作させ、かつ電流発生回路１０２をクロックＢにより動作させる場合との消費電流波形をそれぞれ示している。
【００２６】
図２に示すように、クロックＡにより半導体集積回路装置の内部回路を動作させる通常動作の場合に比べて、電流発生回路１０２をもたずにクロックＣにより半導体集積回路装置の内部回路を間欠的に動作させると、消費電流は低減するが、通常とは明らかに異なる動作をしていることが外部から判別されてしまう。そのため、半導体集積回路装置の内部処理動作を外部から解析し難くするという効果が低減してしまう。
【００２７】
一方、本実施形態のように、クロックＣにより半導体集積回路装置の内部回路を動作させると同時に電流発生回路１０２をクロックＢで動作させると、消費電流はクロックＡにより半導体集積回路装置の内部回路を動作させる通常動作時と同程度になるが、消費電流波形が通常動作の場合と判別し難くなるため、消費電流波形を観測することでデータとの依存性を解析して再生することが困難になることが分かる。
【００２８】
したがって、本実施形態の半導体集積回路装置によれば、半導体集積回路装置の内部回路を間欠的に動作させると同時に電流発生回路を間欠的に動作させることで、消費電流波形が通常の場合と判別し難くなるため、消費電流波形のデータとの依存性の解析が困難になり、データの処理手順や処理されるデータの保護能力を高めることができる。また、偽電流を常時流す必要も無いため、消費電流を不必要に増大させることがない。
【００２９】
（第２の実施の形態）
図４は本発明の半導体集積回路装置の第２の実施の形態の構成を示す回路図である。
【００３０】
図４に示すように、第２の実施の形態の半導体集積回路装置は、複数の電流発生回路１０２１〜１０２ｎ（ｎは正の整数）から成る電流発生回路群１１３と、動作させる電流発生回路を選択するための回路選択レジスタ１１２とを図１に示した第１の実施の形態の半導体集積回路装置に追加した構成である。その他の構成及び動作は第１の実施の形態と同様であるため、その説明は省略する。
【００３１】
回路選択レジスタ１１２は、例えばデータバスを介して任意の値が書き込み可能に設けられ、複数の電流発生回路１０２１〜１０２ｎは、予め回路選択レジスタ１１２に書き込まれた値にしたがって選択され、タイミング生成回路から出力されるクロックＢによって動作する。
【００３２】
例えば、回路選択レジスタ１１２のビット０を電流発生回路１１３１に割り当てた場合、回路選択レジスタ１１２の値が“１Ｈ”、すなわちビット０が“１”のときに電流発生回路１１３１がクロックＢにより動作する。同様に、回路選択レジスタ１１２の他のビットに割り当てられた電流発生回路１０２２〜１０２ｎは、対応するビットが“１”のときにクロックＢにより動作する。なお、電流発生回路１０２１〜１０２ｎは、１つだけ選択されて動作してもよく、複数が選択されて同時に動作してもよい。
【００３３】
本実施形態の半導体集積回路装置によれば、第１の実施の形態の半導体集積回路装置の効果に加えて、複数の電流発生回路１０２１〜１０２ｎから選択された回路を動作させることで、消費電流波形をより通常の動作に近い形にすることができるため、消費電流波形を観測することによるデータとの依存性の解析をより困難にすることができる。
【００３４】
（第３の実施の形態）
図５は本発明の半導体集積回路装置の第３の実施の形態の構成を示す回路図である。
【００３５】
図５に示すように、第３の実施の形態の半導体集積回路装置は、乱数発生回路で生成された乱数が、該乱数を一時的に保持するためのレジスタ２０９を介して回路選択レジスタ２１２に供給される構成である。その他の構成及び動作は第２の実施の形態と同様であるため、その説明は省略する。
【００３６】
本実施形態の半導体集積回路装置装置は、乱数を一時的に保持するレジスタ２０９の値を回路選択レジスタ２１２でも取り込むことによりクロックＢで動作する電流発生回路がランダムに選択される。
【００３７】
本実施形態の半導体集積回路装置によれば、複数の電流発生回路からランダムに選択された回路をクロックＢで動作させるため、第２の実施の形態の半導体集積回路装置よりも消費電流波形を観測することによるデータとの依存性の解析をさらに困難にすることができる。
【００３８】
なお、上述した第１の実施の形態〜第３の実施の形態では、乱数発生回路から出力される乱数を用いてタイミング生成回路や電流発生回路を動作させる例を示したが、乱数に代えて、半導体集積回路装置が備えるタイマやシフトレジスタあるいは内部バス等のように半導体集積回路装置の動作中に時間軸上で出力データが変化する回路（変動データ出力回路）の出力値を用いることも可能である。
【００３９】
【発明の効果】
本発明は以上説明したように構成されているので、以下に記載する効果を奏する。
【００４０】
第１のクロックから一部のパルスを間引いた間欠するパルス列である第２のクロックを生成し、内部クロックとして内部回路にそれぞれ供給する間欠クロック生成回路と、第１のクロックから間引かれるパルス列である第３のクロックのタイミングで電源電流を消費する電流発生回路とを有することで、内部回路が間欠するパルス列である第２のクロックで動作していても、消費電流波形は内部回路が第１のクロックで動作している通常動作時と同様に変動する。
【００４１】
したがって、消費電流波形を観測しても通常動作時と区別することが困難であり、かつ消費電流波形を観測することでデータとの依存性を解析し、データの処理手順や処理されるデータを再生することが困難でなる。よって、データの処理手順や処理されるデータの保護能力を向上させることができる。また、偽電流を常時流す必要も無いため、消費電流を不必要に増大させることがない。
【図面の簡単な説明】
【図１】本発明の半導体集積回路装置の第１の実施の形態の構成を示す回路図である。
【図２】図１に示した半導体集積回路装置の動作を示すタイミングチャートである。
【図３】図１に示した電流発生回路の一構成例を示す回路図である。
【図４】本発明の半導体集積回路装置の第２の実施の形態の構成を示す回路図である。
【図５】本発明の半導体集積回路装置の第３の実施の形態の構成を示す回路図である。
【符号の説明】
１００    間欠クロック生成回路
１０１    クロック生成回路
１０２、１０２１〜１０２ｎ    電流発生回路
１０３    ＣＰＵ
１０４    ＲＯＭ
１０５    ＲＡＭ
１０６    ＥＥＰＲＯＭ
１０７    Ｉ／Ｏ
１０８    乱数発生回路
１０９、２０９    レジスタ
１１０    タイミング生成回路
１１１    同期回路
１１２、２１２    回路選択レジスタ
１１３    電流発生回路群
Ｑ１    ｎチャネルＭＯＳトランジスタ
Ｒ    抵抗器
【図１】
2004302575.tif 000003
【図２】
2004302575.tif 000004
【図３】
2004302575.tif 000005
【図４】
2004302575.tif 000006
【図５】
2004302575.tif 000007