(57)【特許請求の範囲】
【請求項１】
演算処理を実行する演算処理装置と、
データバスを介して上記演算処理装置と接続された記憶装置と、
上記演算処理装置がデータを読み込むリードサイクル期間の終了から上記演算処理装置が上記記憶装置に対してデータの書き込みを行うライトサイクル期間の開始までの期間、ライトサイクル期間の終了からリードサイクル期間の開始までの期間、リードサイクル期間の終了から別のリードサイクル期間の開始までの期間、ライトサイクル期間の終了から別のライトサイクル期間の開始までの期間のいずれかでかつリードサイクル期間またはライトサイクル期間を含まない期間に、擬似データを発生し、上記データバス上に出力する擬似データ発生回路と
を具備したことを特徴とするデータ処理装置。
【請求項２】
演算処理を実行する演算処理装置と、
データバス、リード信号線及びライト信号線を介して上記演算処理装置に接続された記憶装置と、
上記リード信号線及びライト信号線に伝達されるリード制御信号及びライト制御信号の変化を検出して制御信号を発生する制御信号発生回路と、
上記制御信号が供給され、上記リード制御信号及びライト制御信号に基づくリードサイクル期間またはライトサイクル期間が終了した後にこの制御信号に応じて擬似データを発生して上記データバス上に出力する擬似データ発生回路と
を具備したことを特徴とするデータ処理装置。
【請求項３】
前記擬似データ発生回路が乱数データを発生することを特徴とする請求項１または２記載のデータ処理装置。
【請求項４】
演算処理を実行する演算処理装置と、
データバスを介して上記演算処理装置に接続された記憶装置と、
上記演算処理装置がデータを読み込むリードサイクル期間の終了から上記演算処理装置が上記記憶装置に対してデータの書き込みを行うライトサイクル期間の開始までの期間、ライトサイクル期間の終了からリードサイクル期間の開始までの期間、リードサイクル期間の終了から別のリードサイクル期間の開始までの期間、ライトサイクル期間の終了から別のライトサイクル期間の開始までの期間のいずれかでかつリードサイクル期間またはライトサイクル期間を含まない期間に動作して電力を消費するダミー回路と
を具備したことを特徴とするデータ処理装置。
【請求項５】
演算処理を実行する演算処理装置と、
データバス、リード信号線及びライト信号線を介して上記演算処理装置に接続された記憶装置と、
上記リード信号線及びライト信号線に伝達されるリード制御信号及びライト制御信号の変化を検出して制御信号を発生する制御信号発生回路と、
上記制御信号が供給され、上記リード制御信号及びライト制御信号に基づくリードサイクル期間またはライトサイクル期間が終了した後にこの制御信号に応じて動作して電力を消費するダミー回路と
を具備したことを特徴とするデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ＣＰＵとメモリを有し、データバスを介してＣＰＵとメモリとの間でデータ転送が行われるデータ処理装置に係り、特にデータバス上で転送されるデータの内容が外部に知られにくくしたデータ処理装置に関する。
【０００２】
【従来の技術】
一般に、ＣＰＵ（中央演算処理装置）を内蔵したデータ処理装置において、ＣＰＵの命令処理時における消費電力は、各種命令や各命令が扱うデータによって、若干の相違がある。従って、この消費電力の相違を、例えばデータ処理装置に供給されている電源の電流によって観察すれば、ＣＰＵの動作が解析され易くなる。
【０００３】
このため、ＣＰＵによってメモリ内の秘密データを管理、処理する際に、秘密データをＣＰＵが処理する時間が特定されてしまうと、秘密データが外部に漏洩し易くなる危険性がある。
【０００４】
【発明が解決しようとする課題】
このように従来のデータ処理装置では、消費電力の相違によって秘密データが外部に漏洩し易くなる危険性がある。
【０００５】
この発明は上記のような事情を考慮してなされたものであり、その目的は、秘密データが外部に漏洩しにくくできるデータ処理装置を提供することである。
【０００６】
【課題を解決するための手段】
この発明のデータ処理装置は、演算処理を実行する演算処理装置と、データバスを介して上記演算処理装置と接続された記憶装置と、上記演算処理装置がデータを読み込むリードサイクル期間の終了から上記演算処理装置が上記記憶装置に対してデータの書き込みを行うライトサイクル期間の開始までの期間、ライトサイクル期間の終了からリードサイクル期間の開始までの期間、リードサイクル期間の終了から別のリードサイクル期間の開始までの期間、ライトサイクル期間の終了から別のライトサイクル期間の開始までの期間のいずれかでかつリードサイクル期間またはライトサイクル期間を含まない期間に、擬似データを発生し、上記データバス上に出力する擬似データ発生回路とを具備したことを特徴とする。
【０００７】
この発明のデータ処理装置は、演算処理を実行する演算処理装置と、データバス、リード信号線及びライト信号線を介して上記演算処理装置に接続された記憶装置と、上記リード信号線及びライト信号線に伝達されるリード制御信号及びライト制御信号の変化を検出して制御信号を発生する制御信号発生回路と、上記制御信号が供給され、上記リード制御信号及びライト制御信号に基づくリードサイクル期間またはライトサイクル期間が終了した後にこの制御信号に応じて擬似データを発生して上記データバス上に出力する擬似データ発生回路とを具備したことを特徴とする。
【０００８】
この発明のデータ処理装置は、演算処理を実行する演算処理装置と、データバスを介して上記演算処理装置に接続された記憶装置と、上記演算処理装置がデータを読み込むリードサイクル期間の終了から上記演算処理装置が上記記憶装置に対してデータの書き込みを行うライトサイクル期間の開始までの期間、ライトサイクル期間の終了からリードサイクル期間の開始までの期間、リードサイクル期間の終了から別のリードサイクル期間の開始までの期間、ライトサイクル期間の終了から別のライトサイクル期間の開始までの期間のいずれかでかつリードサイクル期間またはライトサイクル期間を含まない期間に動作して電力を消費するダミー回路とを具備したことを特徴とする。
【０００９】
この発明のデータ処理装置は、演算処理を実行する演算処理装置と、データバス、リード信号線及びライト信号線を介して上記演算処理装置に接続された記憶装置と、上記リード信号線及びライト信号線に伝達されるリード制御信号及びライト制御信号の変化を検出して制御信号を発生する制御信号発生回路と、上記制御信号が供給され、上記リード制御信号及びライト制御信号に基づくリードサイクル期間またはライトサイクル期間が終了した後にこの制御信号に応じて動作して電力を消費するダミー回路とを具備したことを特徴とする。
【００１０】
【発明の実施の形態】
以下、図面を参照してこの発明の実施の形態を詳細に説明する。
【００１１】
図１は、この発明に係るデータ処理装置の第１の実施の形態による全体の構成を示すブロック図である。データ処理装置１０内には、ＣＰＵ（中央演算処理装置）１１、メモリ１２、アドレスバス１３、データバス１４、リード信号線１５、ライト信号線１６、バスフォルダ１７、制御信号発生回路１８及び擬似データ発生回路１９等が設けられている。
【００１２】
ＣＰＵ１１は、各種命令に基づく演算処理を実行する。メモリ１２は、予めデータを記憶しており、ＣＰＵ１１が演算処理を実行する際のリードサイクル期間に、予め記憶されているデータを読み出してＣＰＵ１１に供給すると共に、ライトサイクル期間に、ＣＰＵ１１による演算処理結果に応じたデータが供給され、このデータの書き込みを行う。
【００１３】
ＣＰＵ１１とメモリ１２とは、アドレスバス１３、データバス１４、リード信号線１５及びライト信号線１６によって接続されている。
【００１４】
アドレスバス１３には、ＣＰＵ１１がメモリ１２をアクセスして、メモリ１２の記憶データを読み出す際またはＣＰＵ１１からのデータをメモリ１２に書き込む際に、メモリのアドレスを指定するためのアドレスが転送される。
【００１５】
データバス１４には、ＣＰＵ１１とメモリ１２との間で授受されるデータが転送される。通常、データバス１４には大きな負荷容量が存在しているので、この大きな負荷容量を駆動するために、ＣＰＵ１１及びメモリ１２のそれぞれには図示しないバス駆動回路が設けられている。
【００１６】
リード信号線１５には、リードサイクル期間に、ＣＰＵ１１がメモリ１２をアクセスして、メモリ１２の記憶データを読み出す際に、リード制御信号が転送される。
【００１７】
ライト信号線１６には、ライトサイクル期間に、ＣＰＵ１１がメモリ１２をアクセスして、ＣＰＵ１１からのデータをメモリ１２に書き込む際に、ライト制御信号が転送される。
【００１８】
また、通常、データバス１４にはバスフォルダ１７が接続されている。このバスフォルダ１７は、データバス１４上を転送されるデータを一時的に保持する機能を有する。
【００１９】
上記リード制御信号及びライト制御信号は、制御信号発生回路１８にも供給される。この制御信号発生回路１８は、リード信号線１５及びライト信号線１５に伝達されるリード制御信号及びライト制御信号の変化を検出して制御信号を発生する。制御信号発生回路１８で発生された制御信号は擬似データ発生回路１９に供給される。この擬似データ発生回路１９は例えば乱数データ発生回路からなり、上記制御信号に応じて不特定な乱数データからなる擬似データを発生し、データバス１４上に出力する。擬似データ発生回路１９は大きな負荷容量が存在しているデータバス１４を駆動するので、この擬似データ発生回路１９にはＣＰＵ１１及びメモリ１２と同様の図示しないバス駆動回路が設けられている。
【００２０】
また、上記データ処理装置１０には、電源電圧Ｖｃｃ、接地電圧ＧＮＤが供給される電源端子２０、接地端子２１や外部との間で入出力信号の授受を行うための複数の信号端子２２等が設けられている。
【００２１】
次に、上記構成でなるデータ処理装置の動作を、図２のタイミングチャートを用いて説明する。なお、図２のタイミングチャートは、ＣＰＵ１１がメモリ１２をアクセスして、メモリ１２の記憶データを読み出した後に、ＣＰＵ１１からのデータをメモリ１２に書き込む場合の例を示している。図２において、各信号は、初期値は“１”レベルであり、“０”レベルで意味ありになるとする。
【００２２】
まず、リードサイクル期間に、ＣＰＵ１１がメモリ１２をアクセスしてデータを読み出すために、リード制御信号が“０”レベルに下がる。これを受けて、メモリ１２は、ＣＰＵ１１から出力され、アドレスバス１３上を転送されるアドレスに応じた番地からデータを読み出す。その後、メモリ１２から読み出された読み出しデータはデータバス１４上に出力される。データバス１４上に出力されたデータは所定のタイミングでＣＰＵ１１に取り込まれる。
【００２３】
ここで、メモリ１２から読み出された読み出しデータがデータバス１４上に出力される際に、メモリ１２に設けられているバス駆動回路がデータバス１４を駆動するので、このバス駆動回路における消費電力は一時的に増大する。このときの消費電力の増大は、電源端子２０に供給される電源電圧の電流量の増大として現れる。
【００２４】
メモリ１２から読み出された読み出しデータは、その後、バスフォルダ１７によって一時的に保持され、メモリ１２からのデータ出力動作はある期間を過ぎると停止する。つまり、メモリ１２に設けられているバス駆動回路はデータの出力動作を停止し、出力が高インピーダンス状態となる。
【００２５】
リード制御信号が“０”レベルに下がり、データバス１４上のデータがＣＰＵ１１に取り込まれ、リードサイクル期間が終了した後に、制御信号発生回路１８で制御信号が発生される。この制御信号が供給されことにより、擬似データ発生回路１９が動作を開始して乱数データを発生する。この乱数データは擬似データとしてデータバス１４上に出力される。
【００２６】
この擬似データがデータバス１４上に出力される際に、擬似データ発生回路１９に設けられているバス駆動回路がデータバス１４を駆動するために、このバス駆動回路における消費電力は一時的に増大する。このときの消費電力の増大も、電源端子２０に供給される電源電圧の電流量の増大として現れる。
【００２７】
この後、データバス１４上のデータは、リード時と同様にバスフォルダ１７によって一時的に保持され、擬似データ発生回路１９からの擬似データ出力動作はある期間を過ぎると停止する。つまり、擬似データ発生回路１９に設けられているバス駆動回路は、出力が高インピーダンス状態となる。
【００２８】
次に、ライトサイクル期間に、ＣＰＵ１１がメモリ１２に対してデータを書き込むために、ライト制御信号が“０”レベルに下がる。この場合、ＣＰＵ１１はメモリ１２に対して書き込みを行うためのデータを出力すると共に、書き込みを行うためのメモリ１２の番地を指定するためのアドレスバス１３上に出力する。
【００２９】
ＣＰＵ１１からの書き込み用データがデータバス１４上に出力される際に、ＣＰＵ１１に設けられているバス駆動回路がデータバス１４を駆動するために、このバス駆動回路における消費電力は一時的に増大する。このときの消費電力の増大は、電源端子２０に供給される電源電圧の電流量の増大として現れる。
【００３０】
その後、ＣＰＵ１１から出力された書き込み用データは所定のタイミングでメモリ１２の指定された番地に書き込まれる。
【００３１】
ＣＰＵ１１から出力された書き込み用データは、その後、バスフォルダ１７によって一時的に保持され、ＣＰＵ１１からのデータ出力動作はある期間を過ぎると停止する。つまり、ＣＰＵ１１に設けられているバス駆動回路は、出力が高インピーダンス状態となる。
【００３２】
ライト制御信号が“０”レベルに下がり、データがメモリ１２に書き込まれてライトサイクルが終了した後は、先のリード時の場合と同様に、制御信号発生回路１８で制御信号が発生される。この制御信号が供給されると、擬似データ発生回路１９が動作を開始して乱数データを発生し、擬似データがデータバス１４上に出力される。
【００３３】
この擬似データがデータバス１４上に出力される際に、擬似データ発生回路１９に設けられているバス駆動回路がデータバス１４を駆動するために、このバス駆動回路における消費電力は一時的に増大する。このときの消費電力の増大も、電源端子２０に供給される電源電圧の電流量の増大として現れる。
【００３４】
この後、データバス１４上のデータは、リード時と同様にバスフォルダ１７によって一時的に保持され、擬似データ発生回路１９からの擬似データ出力動作はある期間を過ぎると停止する。つまり、擬似データ発生回路１９に設けられているバス駆動回路は、出力が高インピーダンス状態となる。
【００３５】
このように図１のデータ処理装置によれば、データバス１４を介してＣＰＵ１１とメモリ１２との間で本来のデータが転送されるリードサイクル期間及びライトサイクル期間の後で、擬似データ発生回路１９で擬似データを発生し、データバス１４上に出力するようにしたので、ＣＰＵ１１とメモリ１２との間で授受される本来のデータの転送時と、その後の擬似データの発生時とで、ＣＰＵ１１、メモリ１２及び擬似データ発生回路１９それぞれに設けられているバス駆動回路が動作し、それぞれの場合に消費電力が一時的に同程度に増大する。
【００３６】
このため、秘密データを含む本来のデータがデータバス１４上を転送される時と、擬似データがデータバス１４上に出力される時とにおける消費電力の増大は、電源端子２０に供給される電流量を変化を観測しても区別がつきにくい。この結果、外部からは秘密データに依存した消費電力の変化が観察しにくくなり、秘密データの漏洩を防ぐことができる。
【００３７】
なお、従来では、乱数データ発生回路が設けられ、ここで発生された乱数データをデータバス上を転送させてＣＰＵに取り込み、演算処理を実行するように構成されたデータ処理装置が存在している。しかし、このようなデータ処理装置では乱数データはあくまでも正規のデータの一部として取り扱われ、リードサイクル期間内にデータバスを介してＣＰＵに転送されるものであり、上記実施の形態のようにリードサイクル期間及びライトサイクル期間の後に擬似データを発生してデータバス上に出力するものとは異なる。すなわち、リードサイクル期間内にデータバスを介して乱数データを転送する場合には、乱数データは本来のデータと見なされ、その前後のデータとの間で相関が取られてデータが漏洩する恐れがある。
【００３８】
なお、上記実施の形態では、データバス１４を介してＣＰＵ１１とメモリ１２との間で本来のデータが転送されるリードサイクル期間及びライトサイクル期間がそれぞれ終了した後で、擬似データ発生回路１９で擬似データを発生し、データバス１４上に出力する場合について説明したが、これは少なくともデータバス１４を介してＣＰＵ１１とメモリ１２との間で本来のデータが転送されるリードサイクル期間及びライトサイクル期間のうちいずれか２つの動作サイクル期間の相互間に、つまりリードサイクル期間の終了からライトサイクル期間の開始までの期間、ライトサイクル期間の終了からリードサイクル期間の開始までの期間、リードサイクル期間の終了から別のリードサイクル期間の開始までの期間、ライトサイクル期間の終了から別のライトサイクル期間の開始までの期間のいずれかでかつリードサイクル期間またはライトサイクル期間を含まない期間に、擬似データ発生回路１９で擬似データを発生し、データバス１４上に出力するように変更してもよい。例えば、図２を用いた動作説明では、ＣＰＵ１１がメモリ１２をアクセスして、メモリ１２の記憶データを読み出した後に、ＣＰＵ１１からのデータをメモリ１２に書き込む場合を例にして行ったが、これはリード動作が連続して複数回行われる場合またはライト動作が連続して複数回行われる場合でも容易に類推することができるので、これらの説明は省略する。
【００３９】
図３は、図１中の制御信号発生回路１８の具体的な回路構成の一例を示している。この回路は、リード制御信号及びライト制御信号が入力されるＡＮＤ回路３１、このＡＮＤ回路３１の出力を所定期間遅延して第１遅延信号を出力する遅延回路３２、この第１遅延信号をさらに所定期間遅延して第２遅延信号を出力する遅延回路３３、第１遅延信号を反転して第１遅延反転信号を出力する反転回路３４、第２遅延信号及び第１遅延反転信号が入力されるＯＲ回路３５とからなる。
【００４０】
図４は、図３の制御信号発生回路１８における要部の信号波形を示すタイミングチャートである。図４中、ｔｄ１，ｔｄ２は遅延回路３２、３３における遅延時間であり、リードサイクル期間あるいはライトサイクル期間に、リード制御信号もしくはライト制御信号が“０”レベルに下がり、その後“１”レベルの初期値に戻り、その後、遅延回路３２の遅延時間ｔｄ１が経過した後に制御信号が活性化される。さらにその後、遅延回路３３の遅延時間ｔｄ２が経過した後に制御信号が非活性化される。
【００４１】
もちろん、制御信号発生回路１８の回路構成は図３に示したようなものに限定されるものではなく、要するにリード制御信号及びライト制御信号の変化を検出して制御信号が発生できるようなものであれば、どのような構成のものであってもよい。
【００４２】
図５は、この発明に係るデータ処理装置の第２の実施の形態による全体の構成を示すブロック図である。
【００４３】
この実施の形態におけるデータ処理装置が、図１に示す先の第１の実施の形態のものと異なっている点は、擬似データ発生回路１９に替えてダミー回路２３が設けられていることである。従って、図１と対応する箇所には同じ符号を付してその説明は省略し、以下、図１と異なる点のみについて説明する。
【００４４】
ダミー回路２３は、制御信号発生回路１８で発生される制御信号に応じて動作が制御され、動作時には図１中の擬似データ発生回路内のバス駆動回路で消費される消費電力に相当する電力を消費する。このダミー回路２３は、例えばカウンタ回路やシフトレジスタ等で構成されていてもよい。
【００４５】
この実施の形態によれば、データバス１４を介してＣＰＵ１１とメモリ１２との間で本来のデータが転送されるリードサイクル期間及びライトサイクル期間の後で、ダミー回路２３を動作させて電力を消費させるようにしたので、ＣＰＵ１１とメモリ１２との間で授受される本来のデータの転送時と、その後のダミー回路２３の動作時とで、それぞれの場合に消費電力が一時的に同程度に増大する。
【００４６】
このため、秘密データを含む本来のデータがデータバス１４上を転送される時と、ダミー回路２３の動作時とにおける消費電力の増大は、電源端子２０に供給される電流量を変化を観測しても区別がつきにくい。この結果、外部からは秘密データに依存した消費電力の変化が観察しにくくなり、秘密データの漏洩を防ぐことができる。
【００４７】
【発明の効果】
以上説明したようにこの発明によれば、秘密データが外部に漏洩しにくくできるデータ処理装置を提供することができる。
【図面の簡単な説明】
【図１】この発明に係るデータ処理装置の第１の実施の形態による全体の構成を示すブロック図。
【図２】図１のデータ処理装置の動作の一例を示すタイミングチャート。
【図３】図１中の制御信号発生回路１８の具体的な構成の一例を示す回路図。
【図４】図３の制御信号発生回路１８における要部の信号波形を示すタイミングチャート。
【図５】この発明に係るデータ処理装置の第２の実施の形態による全体の構成を示すブロック図。
【符号の説明】
１０…データ処理装置、
１１…ＣＰＵ（中央演算処理装置）、
１２…メモリ、
１３…アドレスバス、
１４…データバス、
１５…リード信号線、
１６…ライト信号線、
１７…バスフォルダ、
１８…制御信号発生回路、
１９…擬似データ発生回路、
２０…電源端子、
２１…接地端子、
２２…信号端子、
２３…ダミー回路。
【図１】
0003977592.tif 000002
【図２】
0003977592.tif 000003
【図３】
0003977592.tif 000004
【図４】
0003977592.tif 000005
【図５】
0003977592.tif 000006