JP2008269060A - 半導体集積回路及び該半導体集積回路を搭載したicカード - Google Patents

半導体集積回路及び該半導体集積回路を搭載したicカード Download PDF

Info

Publication number
JP2008269060A
JP2008269060A JP2007108211A JP2007108211A JP2008269060A JP 2008269060 A JP2008269060 A JP 2008269060A JP 2007108211 A JP2007108211 A JP 2007108211A JP 2007108211 A JP2007108211 A JP 2007108211A JP 2008269060 A JP2008269060 A JP 2008269060A
Authority
JP
Japan
Prior art keywords
data
invalid data
bus
invalid
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2007108211A
Other languages
English (en)
Inventor
Takenobu Nishiguchi
武伸 西口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2007108211A priority Critical patent/JP2008269060A/ja
Publication of JP2008269060A publication Critical patent/JP2008269060A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

【課題】 回路全体で処理速度を低下させることなく、消費電流解析によるセキュリティデータやデータ処理手順の解読を困難にし、セキュリティデータの漏洩や不正利用を効果的に防止できる半導体集積回路を提供する。
【解決手段】 セキュリティデータまたはそのデータ処理手順が記憶されたメモリ20、30、40と、データ処理手順の実行を制御する主制御手段10と、データ処理手順の実行で用いられる伝送データを伝送するデータバス100と、データバス100に接続された周辺装置の全てについてデータバス100に対する伝送データの入出力を制御する伝送制御信号に基づいて、データバス100が使用されているか否かを検出する使用状態判定手段70と、無効データを生成する無効データ生成手段80と、データバス100が使用されていないと判定された場合に、データバス100に対し無効データを出力するバス制御手段90を備える。
【選択図】 図1

Description

本発明は、半導体集積回路、特に、データバスに対する消費電流波形の観測によるデータ処理の解読を防止するデータ処理解読防止機能を備えた半導体集積回路に関する。
半導体集積回路を搭載したICカード等においては、半導体集積回路を構成するCPU(Central Processing Unit)や、ROM(Read Only Memory)やフラッシュメモリ等の不揮発性メモリ及びRAM(Random Access Memory)等の揮発性メモリを含む周辺装置から出力されるデータにより、データバス上のデータが変化する際に、データ変化量に応じて、消費電流波形が変化する。尚、ここでのデータ変化量は、例えば、データバス上で、値が“0”から“1”または“1”から“0”に変化したビット数で規定される。
具体的には、例えば、16ビットのデータバスに出力された伝送データの値が0000h(16進数)からFFFFhに変化した場合、値が“0”(Highレベル)から“1”(Lowレベル)に変化したビットの数は、16個となる。また、伝送データの値が1111hからFFFFhに変化した場合、値が“0”から“1”に変化したビットの数は、12個となる。半導体集積回路では、値が“0”から“1”に変化したビットの数、つまり、データ変化量に応じて、消費電流波形に差が生じる。このため、半導体集積回路の消費電流波形を観測することにより、データ変化時の消費電流波形の差から、データバスを伝送される伝送データの値や、データ処理手順(命令コード)の内容を推測することが可能である。
従って、個人情報や各種認証情報(パスワードや電子署名)等、機密性が極めて高いセキュリティデータ、或いは、各種認証処理に係る命令コード等、セキュリティデータを処理する命令コードを記憶したメモリを備える半導体集積回路では、不正利用者による被害防止のため、消費電流解析により、セキュリティデータが漏洩したり、セキュリティデータ等に対する命令コードが解読されたりするのを防止する必要がある。
消費電流解析によるセキュリティデータの漏洩や命令コードの解読を防止する技術としては、例えば、命令コードにおける伝送データの遷移タイミングを、通常とは異なるタイミングに変化させる半導体集積回路がある(例えば、特許文献1参照)。具体的には、特許文献1に記載の半導体集積回路では、データバスへの伝送データの出力において、待機時間の設定、及び、割り込み処理の実行により、伝送データの出力タイミングを変化させている。
ここで、図13は、特許文献1に記載の半導体集積回路における各信号波形及び消費電流波形を示している。図13(a)は、通常動作時の各信号波形及び消費電流波形を示しており、図13(b)は、1ビット構成の待機要求信号により、伝送データの出力タイミングに待機時間を設定する場合の各信号波形及び消費電流波形を示している。特許文献1に記載の半導体集積回路は、図13(b)に示すように、待機要求信号が“1”の期間は、伝送データが変化しないように構成されている。尚、図13(a)及び図13(b)に示すように、消費電流波形に変化が現れるのは、データバス上の伝送データの値が変化するときであり、待機要求信号が“1”に設定され、データバス上の伝送データの値が変化しないときは、消費電流波形に変化は生じない。
特開2000−259799号公報
しかしながら、特許文献1に記載の半導体集積回路では、データバスへの伝送データの出力タイミングを変化させるために、待機時間の設定や割り込み処理を実行する等して、伝送データの出力タイミングを時間的に後方にずらすように構成されているため、半導体集積回路全体で処理速度が低下するという問題があった。
また、例えば、消費電流解析の解析手法によっては、データバスへの伝送データの出力における待機時間を抽出することが可能である場合が考えられる。この場合には、データバス上の伝送データの信号波形から待機時間を取り除くことが可能になり、消費電流解析によるセキュリティデータの漏洩やデータ処理手順の解読に対する防止効果を十分に期待できない可能性がある。
本発明は上記の問題に鑑みてなされたものであり、その目的は、回路全体で処理速度を低下させることなく、消費電流解析によるセキュリティデータやデータ処理手順の解読を困難にし、セキュリティデータの漏洩や不正利用を効果的に防止できる半導体集積回路を提供する点にある。また、ICカード全体で処理速度を低下させることなく、消費電流解析によるセキュリティデータやデータ処理手順の解読を困難にし、不正操作によるデータ漏洩やデータ処理手順の解読を効果的に防止できるICカードを提供する。
上記目的を達成するための本発明に係る半導体集積回路は、所定のセキュリティデータ、若しくは、前記セキュリティデータを用いたセキュリティデータ処理手順を含むデータ処理手順の1または複数が記憶されたメモリの1または複数と、前記メモリに記憶された前記データ処理手順の実行を制御する主制御手段と、前記主制御手段による前記データ処理手順の実行において用いられる伝送データを伝送するデータバスと、を備える半導体集積回路であって、前記メモリを含む前記データバスに接続された周辺装置に対する前記データバスを介した前記伝送データの入出力を制御するための1または複数の伝送制御信号に基づいて、前記データバスが使用されているか否かを検出する使用状態判定手段と、無効データを生成する無効データ生成手段と、前記使用状態判定手段において前記データバスが使用されていないと判定された場合に、前記データバスに対し、前記無効データ生成手段が生成した前記無効データを出力するバス制御手段と、を備えることを第1の特徴とする。
上記特徴の本発明に係る半導体集積回路は、前記無効データ生成手段は、前記無効データの前記データバスへの伝送前に伝送される前記伝送データに対するデータ変化量、若しくは、前記無効データの前記データバスへの伝送後に伝送される前記伝送データに対するデータ変化量が、予め設定された所定の変化量となるように、前記無効データを生成することを第2の特徴とする。
上記何れかの特徴の本発明に係る半導体集積回路は、前記無効データ生成手段は、所定の乱数を発生させる乱数発生手段を備え、前記乱数発生手段から出力される前記乱数を用いて前記無効データを生成することを第3の特徴とする。
上記第1の特徴の本発明に係る半導体集積回路は、前記無効データ生成手段は、前記無効データの前記データバスへの伝送前に伝送される前記伝送データに対するデータ変化量、若しくは、前記無効データの前記データバスへの伝送後に伝送される前記伝送データに対するデータ変化量が、予め設定された所定の変化量となるように、前記無効データを生成する第1無効データ生成手段と、所定の乱数を発生させる乱数発生手段を備え、前記乱数発生手段から出力される前記乱数を用いて前記無効データを生成する第2無効データ生成手段と、予め設定された所定のデータを前記無効データとする第3無効データ生成手段と、を備え、所定の無効データ切り替え条件に基づいて、前記第1無効データ生成手段、前記第2無効データ生成手段または前記第3無効データ生成手段の何れか一つを選択することを第4の特徴とする。
上記何れかの特徴の本発明に係る半導体集積回路は、前記無効データ生成手段は、所定の前記データ処理手順で用いられる前記伝送データの反転データを生成し、前記伝送データの前記データバスへの伝送前または伝送後の前記データバスが使用されていない期間に、前記反転データを前記無効データとして出力することを第5の特徴とする。
上記何れかの特徴の本発明に係る半導体集積回路は、前記主制御手段は、前記バス制御手段による前記無効データの出力可否を設定するバス制御信号を生成し、前記バス制御手段は、前記無効データ生成手段から前記無効データを受け付けて、前記主制御手段からの前記バス制御信号に応じて前記無効データを前記データバスに出力することを第6の特徴とする。
上記第1〜第5の特徴の本発明に係る半導体集積回路は、前記バス制御手段は、前記メモリ及び前記主制御手段から出力される前記伝送データの夫々と前記無効データ生成手段から出力される前記無効データを受け付け、前記伝送データ及び前記無効データの内の何れか一つを前記データバスに出力する出力切り替え手段を備え、前記周辺装置は、夫々、出力が前記バス制御手段を介して前記データバスに接続され、前記バス制御手段を介して前記データバスに前記伝送データを出力するように構成されており、前記出力切り替え手段は、前記使用状態判定手段において前記データバスが使用されていないと判定された場合に、前記無効データを出力するように切り替えることを第7の特徴とする。
上記何れかの特徴の本発明に係る半導体集積回路は、通常動作用に供給されるシステムクロックとは別に無効データ用クロックを生成するクロック生成回路を備え、前記無効データ生成手段は、前記無効データ用クロックに同期して前記無効データを生成し、前記バス制御手段は、前記無効データ用クロックに同期して前記無効データを出力することを第8の特徴とする。
上記特徴の本発明に係る半導体集積回路は、前記クロック生成回路は、前記システムクロックを逓倍または分周して、前記無効データ用クロックを生成することを第9の特徴とする。
上記第8または第9の特徴の本発明に係る半導体集積回路は、前記クロック生成回路は、クロック周波数またはクロックタイミングの異なる複数のクロック信号を生成可能に構成され、前記クロック信号の何れか一つを選択して前記無効データ用クロックとして出力することを第10の特徴とする。
上記第8〜第10の特徴の本発明に係る半導体集積回路は、前記クロック生成回路は、外部入力信号に応じて、前記無効データ用クロックの生成及び停止、クロック周波数及びクロックタイミングを設定することを第11の特徴とする。
上記目的を達成するための本発明に係るICカードは、上記何れかの特徴の半導体集積回路を備えてなることを第1の特徴とする。
上記特徴の半導体集積回路によれば、データバスへの伝送データの出力またはデータバスからの伝送データの受け付けの制御に係る伝送制御信号に基づいて、データバスが使用されていない期間に、データバスに対し無効データを出力するように構成したので、従来技術のように、待機時間の設定や割り込み処理を行わないため、半導体集積回路全体での処理速度の低下を招くことがない。
また、上記特徴の半導体集積回路によれば、データバスが使用されていない期間にデータバスに対し無効データを出力するように構成したので、CPU(主制御手段に相当)によるデータ処理手順の実行中に、本来のデータ処理手順の実行では現れない消費電流の変化を発生させることができる。これにより、消費電流解析によるセキュリティデータやデータ処理手順の解読を飛躍的に困難にすることが可能になり、セキュリティデータの漏洩や不正利用をより効果的に防止することが可能になる。
従って、例えば、盗難や紛失等により上記特徴の半導体集積回路を搭載したICカード等の機器を入手した悪意のある第三者が、消費電流解析によりセキュリティデータやデータ処理手順の解読を試みても、解読に成功する確率が飛躍的に低くなる。また、上記特徴の半導体集積回路によれば、データバスが使用されていない期間にデータバスに対し無効データを出力するように構成したことで、消費電流解析によるセキュリティデータやデータ処理手順の解読が飛躍的に困難になる。このため、仮に、悪意のある第三者がセキュリティデータやそのデータ処理手順の解読に成功した場合でも、解読に係る時間が飛躍的に長くなることが期待できる。これにより、上記特徴の半導体集積回路を搭載した機器の本来の正当使用者は、悪意のある第三者による被害に対する対策を講じる時間をより多く確保することが可能になる。これによって、上記特徴の半導体集積回路を搭載した機器のセキュリティ性をより高めることが可能になる。
尚、上記特許文献1に記載した半導体集積回路に、上記特徴の本発明に係る半導体集積回路の構成を組み合わせて、例えば、待機時間に無効データを出力するように構成すれば、待機時間の抽出が困難になり、上記特許文献1に記載した半導体集積回路におけるセキュリティ性をより高めることが可能になる。
更に、例えば、メモリに対する書き込み処理の実行を制御するライトイネーブル信号や読み出し処理の実行を制御するリードイネーブル信号等を伝送制御信号として用いることで、従来の半導体集積回路の構成を利用することができ、上記特徴の半導体集積回路の構築を簡素化することが可能になる。
以下、本発明に係る半導体集積回路(以下、適宜「本発明回路」と略称する)及び本発明に係るICカードの実施形態を図面に基づいて説明する。
〈第1実施形態〉
本発明回路の第1実施形態について、図1及び図2を基に説明する。尚、本実施形態では、本発明回路1が接触型のICカード2に搭載されている場合を想定して説明する。
先ず、本実施形態の本発明回路1及びICカード2の構成について、図1を基に説明する。ここで、図1は、本実施形態の本発明回路1Aを搭載したICカード2の概略構成を示している。
図1に示すように、ICカード2は、本発明回路1Aに係る基本構成として、所定のセキュリティデータ、若しくは、セキュリティデータを用いたセキュリティ用命令コード(セキュリティデータ処理手順に相当)を含む命令コード(データ処理手順に相当)の複数が記憶されたメモリの複数と、メモリに記憶された命令コードの実行を制御するCPU(主制御手段に相当)10と、CPU10による命令コードの実行において用いられる伝送データを伝送するデータバス100を備えて構成されている。
更に、本実施形態のICカード2に搭載された本発明回路1Aは、無効データの生成及び伝送に係る装置として、メモリを含むデータバス100に接続された周辺装置に対するデータバス100を介した伝送データの入出力を制御するための1または複数の伝送制御信号に基づいて、データバス100が使用されているか否かを検出する使用状態判定回路70(使用状態判定手段に相当)と、無効データを生成する無効データ生成回路80X(無効データ生成手段に相当)と、使用状態判定回路70においてデータバス100が使用されていないと判定された場合に、データバス100に対し、無効データ生成回路80Xが生成した無効データを出力するバス制御回路90A(バス制御手段に相当)を備えている。尚、伝送制御信号は、周辺装置夫々に対応して各別に生成され、各周辺回路に各別に備えられた制御線(図示せず)を介して各周辺装置に入力される。
また、本実施形態のICカード2は、ICカード2本来の機能に係る装置(周辺装置)の一例として、所定の命令コードの実行開始タイミングや割り込みタイミング等を設定するタイマ60、ICカード2と外部機器の間でデータ伝送を行うための入出力ポート50、ICカード2に搭載された内部装置(無効データの生成及び伝送に係る装置及び周辺装置)に電力を供給する電源端子VDD、各内部装置を接地電圧に接続するための接地端子GND、各内部装置を初期状態にするためのリセット端子RST、入出力ポート50をICカード2の外部装置と電気的に接続する入出力端子I/O、及び、各内部装置にシステムクロックを供給するためのクロック端子CLKを備えている。尚、本実施形態では、メモリ、入出力ポート50、タイマ60、使用状態判定回路70、無効データ生成回路80X及びバス制御回路90Aは、システムクロックに同期して動作するように構成されている。
尚、本実施形態のICカード2では、データバス100と双方向の通信が可能な入出力データ線で接続された各周辺装置、ここでは、RAM30、フラッシュメモリ40、入出力ポート50及びタイマ60は、夫々、後述するCPU10によって各周辺装置夫々に対応して各別に生成された伝送制御信号に基づいて、出力状態(内部装置からデータバス100への伝送データの出力が可能な状態)或いは出力停止状態(ここでは、データバス100上の伝送データの受け付けが可能な入力状態)に切り替え可能に構成されている。更に、データバス100と出力方向の通信が可能な出力データ線で接続された周辺装置、ここでは、ROM20は、後述するCPU10によって各周辺装置夫々に対応して各別に生成された伝送制御信号に基づいて、出力状態或いは出力停止状態(ここでは、ハイインピーダンス状態)に切り替え可能に構成されている。また、バス制御回路90Aは、データバス100と出力方向の出力データ線で接続されており、後述するCPU10から出力されるバス制御信号に基づいて、出力状態或いは出力停止状態(ハイインピーダンス状態)に切り替え可能に構成されている。本実施形態では、各周辺装置及びバス制御回路90Aは、伝送制御信号及びバス制御信号が活性状態のときに出力状態となるように構成されている。
より詳細には、本発明回路1Aに係るメモリは、図1に示すように、本実施形態では、個人情報や認証情報等のセキュリティデータ、及び、CPU10上で実行されることにより、本発明回路1Aが搭載されたICカード2本来の機能を実現するプログラムを構成する命令コード(セキュリティ用命令コードを含む)を格納する不揮発性メモリの一例としてのROM20、CPU10により、命令コードの実行において命令コードや各種データを記憶する不揮発性メモリの一例としてのフラッシュメモリ40、及び、揮発性メモリの一例としてのRAM30である。ここで、ROM20やフラッシュメモリ40に記憶される命令コードとしては、例えば、パスワードや電子署名を用いた認証処理を実行するためのセキュリティ用命令コードや、外部装置とのデータ通信で用いられるデータに対する暗号処理を実行するための命令コード等を想定している。
CPU10は、本発明回路1Aに搭載されたメモリを含むデータバス100に接続された周辺装置、即ち、本実施形態では、CPU10を除く内部装置の全てを各別に制御する。データバス100に係る制御では、CPU10は、内部装置の複数が同時に出力状態とならないように、内部装置夫々の出力状態及び出力停止状態を設定する伝送制御信号を、各内部装置に対応して各別に生成し、対応する内部装置に対して出力する(図示せず)。
尚、本発明回路1Aにおいて想定される伝送制御信号は、メモリに対するリードイネーブル信号やライトイネーブル信号等、各内部装置の制御用の信号であり、データバス上に出力される伝送データ(セキュリティデータや、アドレス値)は含まない。より具体的には、CPU10は、RAM30及びフラッシュメモリ40に対し、伝送制御信号として、書き込み処理の実行を指示するライトイネーブル信号及び読み出し処理の実行を指示するリードイネーブル信号を出力するように構成されている。また、CPU10は、ROM20に対し、伝送制御信号として、読み出し処理の実行を指示するリードイネーブル信号を出力するように構成されている。本実施形態では、更に、CPU10は、生成した伝送制御信号を後述する使用状態判定回路70に対して出力する。
また、本実施形態のCPU10は、後述するバス制御回路90Aによるデータバス100に対する無効データの伝送を制御するために、バス制御回路90Aによる無効データの出力可否を設定するバス制御信号を生成し、バス制御回路90Aに対して出力する。
データバス100は、本実施形態では、16ビットの伝送データを伝送可能な16ビット構成のバスであり、図1に示すように、双方向データ線或いは出力データ線を介して各周辺装置が接続されている。
使用状態判定回路70は、本実施形態では、CPU10が周辺装置夫々に対応して各別に生成した伝送制御信号を利用して、データバス100の使用状態を判定する。より具体的には、使用状態判定回路70は、伝送制御信号の全てが、出力停止状態を設定する信号である場合に、データバス100が使用されていないと判定し、伝送制御信号の何れか一つでも出力状態を設定する信号である場合には、データバス100が使用されていると判定する。更に、使用状態判定回路70は、判定結果を示す判定信号を、後述する無効データ生成回路80X及びバス制御回路90Aに対して出力する。
無効データ生成回路80Xは、本実施形態では、所定の乱数を発生させる乱数発生回路85(乱数発生手段に相当)を備え、乱数発生回路85から出力される乱数を用いて無効データを生成する。乱数発生回路85は、本実施形態では、本発明回路1Aがセキュリティデータを扱うことから、熱雑音等を利用した物理乱数を生成する回路を想定する。尚、乱数発生回路85は、その他の一般的な乱数発生回路85や、不正利用者が推測困難な内部状態、例えば、データバス100から受け付けた伝送データ等の値を利用して乱数を発生する疑似乱数発生回路85等であっても良い。また、無効データ生成回路80Xは、本実施形態では、使用状態判定回路70からの判定信号に基づいてデータバス100が使用されていないと判定されたときに無効データを生成するが、常時無効データを生成するように構成しても良い。
バス制御回路90Aは、無効データ生成回路80Xから無効データを受け付けて、使用状態判定回路70から出力された判定信号に基づいて、データバス100が使用されていない期間に無効データをデータバス100に出力する。本実施形態では、バス制御回路90Aは、使用状態判定回路70から出力された判定信号が、データバス100が使用されていないことを示す場合に、データバス100に対し無効データ生成回路80Xが生成した無効データを出力する。
ここで、図2は、本実施形態における各種信号の信号波形及び消費電流波形を示している。具体的には、バスデータ、伝送制御信号及びバス制御信号は、システムクロックに同期して遷移する。図2(a)に示すように、フラッシュメモリ40またはRAM30に対する書き込み処理を制御するライトイネーブル信号(伝送制御信号の一例)が非活性状態、ここでは、“0”であり、且つ、バス制御信号が活性状態、ここでは、“1”の場合に、無効データ(斜線部分)がデータバス100に出力される。逆に、ライトイネーブル信号が活性状態“1”であり、バス制御信号が非活性状態“0”である場合は、データバス100上には、伝送データ(網掛け部分)の一例としての書き込みデータが伝送される。
図2(a)から分かるように、本発明回路1Aのデータバス100に係る消費電流波形の変化は、データバス100上のデータの値が変化したとき、即ち、無効データと伝送データの切り替え時(時間t0、t1、t2、t3等)に観測される。このため、伝送データ間での切り替え時(時間t0、t2等)のみに消費電流波形の変化が観測される図13と比較すると、消費電流波形の変化が多く観測される。無効データのランダム性により、伝送データと無効データの切り替え時における消費電流波形のランダム性が高くなるため、本発明回路1Aは、消費電流解析によるデータや命令コードの解読が困難な回路であるといえる。
尚、本実施形態の本発明回路1Aにおいて、データバス100が使用されていない状態とは、例えば、データバス100に伝送された伝送データがメモリを含む周辺装置の何れにおいても利用されていない場合等、データバス100に無効データを出力してもICカード2の本来の動作に影響を与えない状態を意味している。
より詳細には、一般的に、半導体集積回路では、所定のタイミング、本実施形態では、システムクロックの立ち上がりのタイミングに同期して、メモリに対する書き込み処理及び読み出し処理等が行われ、これに伴って、システムクロックに同期して、データバス100に対するデータの入出力が行われる。従って、データバス100に対するデータの入出力が行われるタイミングを含む一定期間を除けば、他の伝送データがデータバス100上に出力されている期間であっても、無効データを出力してもICカード2本来の動作に影響を与えないといえる。
即ち、例えば、図2(b)に示すように、伝送データが、システムクロックの2周期毎(例えば、時間t0、t2、t4等)に遷移するように構成され、後半の1周期の間にメモリに対する書き込み処理で利用される場合(後半の1周期の間のみライトイネーブル信号が活性状態となる場合)、前半の1周期の間は、無効データを出力してもICカード2本来の動作に影響を与えない期間、即ち、データバス100が使用されていない状態であると判定できる。本実施形態の使用状態判定回路70は、ライトイネーブル信号を伝送制御信号として用いるので、伝送データの前半の1周期の間、つまり、時間t0〜t1、t2〜t3等の期間について、データバス100が使用されていない状態であると判定することとなる。この期間に無効データをデータバス100上に出力することで、データバス100上のデータは、図2(a)に示すようになる。
〈第2実施形態〉
本発明回路の第2実施形態について、図3及び図4を基に説明する。尚、本実施形態では、上記第1実施形態とは、無効データ生成回路の構成が異なる場合について説明する。より具体的には、上記第1実施形態では、本発明回路1Aの無効データ生成回路80Xが乱数を用いて無効データを生成する場合について説明したが、本実施形態では、本発明回路1Bの無効データ生成回路80Yが、データ変化量が一定になるように無効データを生成する場合について説明する。
本実施形態の本発明回路1B及びICカード2の構成について、図3を基に説明する。本実施形態の本発明回路1Bは、図3に示すように、本発明回路1Bに係る基本構成として、ROM20、RAM30、フラッシュメモリ40、CPU10、及び、データバス100を備えている。また、本発明回路1Bは、無効データの生成及び伝送に係る装置として、使用状態判定回路70、無効データ生成回路80Y、及び、バス制御回路90Aを備えている。更に、本発明回路1Bは、ICカード2本来の機能に係る装置として、タイマ60、入出力ポート50、及び、各種端子を備えて構成されている。尚、本実施形態では、無効データ生成回路80Y以外の内部装置、即ち、ROM20、RAM30、フラッシュメモリ40、CPU10、データバス100、使用状態判定回路70、バス制御回路90A、タイマ60、入出力ポート50、及び、各種端子の構成は、上記第1実施形態と同じである。
本実施形態の無効データ生成回路80Yは、データバス100上の伝送データを取得し、無効データのデータバス100への伝送前に伝送された伝送データに対するデータ変化量が、予め設定された所定の変化量となるように、無効データを生成する。尚、本実施形態におけるデータ変化量は、データが遷移する際に、“0”から“1”に変化するビット数及び“1”から“0”に変化するビット数の合計数で表される。
より詳細には、本実施形態の無効データ生成回路80Yは、所定の伝送データの反転データを生成し、反転データの生成に用いた伝送データのデータバス100への伝送後のデータバス100が使用されていない期間に、反転データを無効データとして出力する。
ここで、図4は、本実施形態における各種信号の信号波形及び消費電流波形を示している。具体的には、上述したように、本実施形態ではデータバス100が16ビット構成であるため、例えば、図4(a)に示すように、伝送データDtがFFFFh(16進数)であるとすると、反転データDiは0000hとなる。また、例えば、伝送データDtがAAAAh(16進数)であるとすると、反転データDiは5555hとなる。同様に、例えば、伝送データDtが1010hであるとすると、反転データDiはEFEFhとなる。尚、何れの場合も、反転データDiは伝送データDtの全てのビットを反転させて生成するので、反転させるビットの数は16となり、値が変化するビット数で規定されるデータ変化量は一定(16ビット分)になる。これによって、所定の伝送データと該伝送データに続いて出力される無効データとの間で生じる消費電流波形、具体的には、図4(a)の時間t0、時間t2、時間t4、及び、時間t6における波線部分の消費電流波形は同じになる。
尚、本実施形態では、伝送データの全てのビットを反転させて反転データを生成し、これを無効データとしたが、これに限るものではない。例えば、偶数ビットまたは奇数ビットのみ反転させて無効データを生成する構成であっても良いし、予め反転させるビット数を設定しておき、任意に選択したビットを反転させて無効データを生成するように構成しても良い。本実施形態では、値が変化するビットの数をデータ変化量としているので、伝送データと無効データの間のデータ変化量が同じになるように、反転させるビット数が同じであれば良い。
また、本実施形態では、無効データ生成回路80Yが、無効データのデータバス100への伝送前に伝送された伝送データに対するデータ変化量が一定となるように、無効データを生成する場合について説明したが、これに限るものではない。例えば、フラッシュメモリ40やRAM30に対する書き込み処理等において、無効データ生成回路80Yがデータバス100への伝送前に伝送データを取得することが可能な場合には、無効データ生成回路80Yを、無効データのデータバス100への伝送後に伝送される伝送データに対するデータ変化量が一定となるように、無効データを生成するように構成しても良い。即ち、例えば、図4(a)において、データバス100への伝送前の伝送データDtに対するデータ変化量が一定となるように無効データDiを生成し、伝送データDtの伝送前のデータバス100が使用されていない期間、つまり、時間t0〜t1の間に、無効データDiを出力するように構成しても良い。
更に、本実施形態において、無効データ生成回路80Yを、無効データのデータバス100への伝送前に伝送された伝送データに対するデータ変化量と、無効データのデータバス100への伝送後に伝送された伝送データに対するデータ変化量の両方が、一定となるように構成しても良い。具体的には、例えば、図4(b)において、伝送データDtとその直前にデータバス100に出力される無効データDi02との間のデータ変化量が、伝送データDtとその直後にデータバス100に出力される無効データDi11との間のデータ変化量と同じになるように構成しても良い。
〈第3実施形態〉
本発明回路の第3実施形態について、図5〜図7を基に説明する。尚、本実施形態では、上記第1及び第2実施形態とは、無効データ生成回路80の構成が異なる場合について説明する。より具体的には、上記第1実施形態では、本発明回路1Aの無効データ生成回路80Xが、乱数を用いて無効データを生成する場合について、上記第2実施形態では、本発明回路1Bの無効データ生成回路80Yが、伝送データに対するデータ変化量が一定となるように無効データを生成する場合について説明したが、本実施形態では、本発明回路1Cの無効データ生成回路80Wが、複数の異なる無効データを生成可能に構成されている場合について説明する。
本実施形態の本発明回路1及びICカード2の構成について、図5を基に説明する。本実施形態の本発明回路1Cは、図5に示すように、ROM20、RAM30、フラッシュメモリ40、CPU10、データバス100、使用状態判定回路70、無効データ生成回路80W、バス制御回路90A、タイマ60、入出力ポート50、及び、各種端子を備えて構成されている。尚、本実施形態では、無効データ生成回路80W以外の内部装置、即ち、ROM20、RAM30、フラッシュメモリ40、CPU10、データバス100、使用状態判定回路70、バス制御回路90A、タイマ60、入出力ポート50、及び、各種端子の構成は、上記第1実施形態と同じである。
本実施形態の無効データ生成回路80Wは、図6に示すように、データバス100上の伝送データを取得可能に構成され、無効データのデータバス100への伝送前または伝送後に伝送される伝送データに対するデータ変化量が予め設定された所定の変化量となるように、無効データを生成する第1無効データ生成回路80Y(第1無効データ生成手段に相当)と、乱数発生回路85を備え、乱数発生回路85から出力される乱数を用いて無効データを生成する第2無効データ生成回路80X(第2無効データ生成手段に相当)と、予め設定された所定のデータを無効データとする第3無効データ生成回路80Z(第3無効データ生成手段に相当)と、所定の無効データ切り替え条件に基づいて、第1無効データ生成回路80Y、第2無効データ生成回路80Xまたは第3無効データ生成回路80Zの何れか一つを選択する無効データ切り替え回路87を備えて構成されている。
尚、第1無効データ生成回路80Yの構成は、上記第2実施形態の無効データ生成回路80Yの構成と同じであり、第2無効データ生成回路80Xの構成は、上記第1実施形態の無効データ生成回路80Xの構成と同じである。
第3無効データ生成回路80Zは、無効データ用レジスタ86を備え、無効データ用レジスタ86内に予め記憶された所定のデータを無効データとする。本実施形態では、無効データ用レジスタ86内に格納される無効データは、CPU10によって書き込まれる。また、本実施形態の第3無効データ生成回路80Zは、無効データ用レジスタ86に予め複数の無効データ候補を記憶しておき、無効データ用レジスタ86内に記憶された複数の無効データ候補から1のデータを無作為に選択して、無効データとして出力する。尚、無効データ用レジスタ86内の無効データ候補の値は、CPU10によって適宜書き換えられる。
無効データ切り替え回路87は、本実施形態では、第1無効データ生成回路80Y、第2無効データ生成回路80X及び第3無効データ生成回路80Zを、予め設定された所定の選択順序で、第1無効データ生成回路80Y、第2無効データ生成回路80X及び第3無効データ生成回路80Z夫々に予め設定された切り替え時間が経過する毎に切り替える。尚、第1無効データ生成回路80Y、第2無効データ生成回路80X及び第3無効データ生成回路80Zの選択順序、及び、切り替え時間は、CPU10による設定、若しくは、ICカード2の外部からの入力に応じて変更可能に構成しても良い。
ここで、図7は、本実施形態における各種信号の信号波形及び消費電流波形を示しており、本実施形態の無効データ生成回路80Wが、無効データ切り替え回路87により第1無効データ生成回路80Y、第2無効データ生成回路80X及び第3無効データ生成回路80Zの選択を切り替える例について示している。具体的には、図7では、時間t3までの期間に乱数データを生成する第2無効データ生成回路80Xを選択し、時間t3において、第2無効データ生成回路80Xから反転データを生成する第1無効データ生成回路80Yに切り替えている。尚、時間t3以降、第1無効データ生成回路80Yが選択されている間における伝送データから無効データへの遷移に伴う消費電流波形、即ち、時間t4、時間t6、時間t8における消費電流波形は同じになる。
尚、本実施形態では、複数種類の無効データを生成可能に構成したので、無効データのランダム性をより高くすることが可能になり、これによって、消費電力解析によるセキュリティデータや命令コードの解読をより困難にすることができる。
更に、本実施形態では、無効データ生成回路80Wの無効データ切り替え回路87を、任意の順序で所定の切り替え時間毎に、第1無効データ生成回路80Y、第2無効データ生成回路80X及び第3無効データ生成回路80Zを切り替える構成としたが、これに限るものではない。例えば、伝送データの種別(例えば、セキュリティ度)に応じて切り替える構成、実行中の命令コードの種別に応じて切り替える構成、乱数を利用して無作為に選択する構成等、他の無効データ切り替え条件に基づいて無効データを切り替えるように構成しても良いし、複数の無効データ切り替え条件を組み合わせて無効データを切り替えるように構成しても良い。このように構成すれば、よりランダム性が高く規則性の無い無効データを生成することが可能になる。
〈第4実施形態〉
本発明回路の第4実施形態について、図8及び図9を基に説明する。尚、本実施形態では、上記第1〜第3実施形態とは、バス制御回路90の構成が異なる場合について説明する。具体的には、上記第1〜第3実施形態では、内部装置がデータ線を介して直接データバス100と接続されている場合について説明したが、本実施形態では、内部装置の出力側がバス制御回路90Bを介してデータバス100に接続されている場合について説明する。
本実施形態の本発明回路1D及びICカード2の構成について、図8を基に説明する。ここで、図8は、本実施形態の本発明回路1D及びICカード2において、各内部装置とデータバスの接続構成の内、各内部装置の出力側の概略構成を示す部分概略ブロック図である。
本実施形態の本発明回路1Dは、図8に示すように、本発明回路1Dに係る基本構成として、ROM20、RAM30、フラッシュメモリ40、CPU10、及び、データバス100を備えている。また、本発明回路1Dは、無効データの生成及び伝送に係る装置として、使用状態判定回路70、無効データ生成回路80、及び、バス制御回路90Bを備えている。更に、本発明回路1Dは、ICカード2本来の機能に係る装置として、タイマ60、入出力ポート50、及び、各種端子を備えて構成されている。尚、本実施形態では、バス制御回路90B以外の内部装置、即ち、ROM20、RAM30、フラッシュメモリ40、CPU10、データバス100、使用状態判定回路70、無効データ生成回路80、タイマ60、入出力ポート50、及び、各種端子の構成は、上記第1〜第3実施形態の何れかと同じである。
本実施形態では、図8に示すように、各内部装置の出力側は、バス制御回路90Bを介してデータバス100と接続されており、各内部装置の入力側は、直接データバス100と接続されている。尚、無効データ生成回路80は、第2または第3実施形態のように、反転データの生成を行う無効データ生成回路80Yを含む構成である場合には、データバス100から伝送データを受け付け可能となるように、入力側がデータバス100と直接接続される(図示せず)。
本実施形態のバス制御回路90Bは、図8に示すように、メモリを含む周辺回路及びCPU10から出力される伝送データの夫々と無効データ生成回路80から出力される無効データを受け付け、伝送データ及び無効データの内の何れか一つをデータバス100に出力する出力切り替え回路95(出力切り替え手段に相当)を備えて構成されている。また、伝送制御信号及び使用状態判定回路70からの判定信号に基づいて、出力するデータを選択する出力切り替え信号を生成する。更に、本実施形態のバス制御回路90Bは、データバス100への伝送データ及び無効データの出力のために、出力データ線を介してデータバス100と接続されている。
出力切り替え回路95は、本実施形態では、CPU10からのバス制御信号に応じて、データバス100に対し伝送データ及び無効データを出力する場合は、出力状態に、それ以外の場合は、出力停止状態(入力状態)に設定される。更に、出力切り替え回路95は、出力切り替え信号に基づいて、使用状態判定回路70においてデータバス100が使用されていないと判定された場合に、無効データを出力するように切り替える。また、出力切り替え信号に基づいて、周辺装置の何れか1つからデータバス100に伝送データを出力する場合は、データバス100を使用する周辺装置を選択する。ここで、図9は、本実施形態における各種信号の信号波形及び消費電流波形を示している。図9に示すように、データバス100が使用されていない場合、即ち、判定信号が活性状態“1”の場合に、無効データが出力される。
〈第5実施形態〉
本発明回路の第5実施形態について、図10及び図11を基に説明する。尚、本実施形態では、上記第1〜第4実施形態とは、クロックの構成が異なる場合について説明する。具体的には、上記第1〜第4実施形態では、本発明回路1の無効データ生成回路80及びバス制御回路90が、システムクロックに同期して動作する場合について説明したが、本実施形態では、本発明回路1の無効データ生成回路80及びバス制御回路90Aが、システムクロックとは異なる無効データ用クロックに同期して動作する場合について説明する。
本実施形態の本発明回路1E及びICカード2の構成について、図10を基に説明する。ここで、図10は、上記第1〜第3実施形態の各構成にクロック生成回路110を追加した場合について示している。本実施形態の本発明回路1Eは、図10に示すように、本発明回路1Eに係る基本構成として、ROM20、RAM30、フラッシュメモリ40、CPU10、及び、データバス100を備えている。また、本発明回路1Eは、無効データの生成及び伝送に係る装置として、使用状態判定回路70、無効データ生成回路80、及び、バス制御回路90Aを備えている。更に、本発明回路1Eは、ICカード2本来の機能に係る装置として、タイマ60、入出力ポート50、及び、各種端子を備えて構成されている。本実施形態の本発明回路1Eは、更に、通常動作用に供給されるシステムクロックとは別に無効データ用クロックを生成するクロック生成回路110を備えている。
尚、本実施形態では、各内部装置、即ち、ROM20、RAM30、フラッシュメモリ40、CPU10、データバス100、使用状態判定回路70、無効データ生成回路80、バス制御回路90A、タイマ60、入出力ポート50、及び、各種端子の構成は、上記第1〜第3実施形態の何れかと同じである。但し、無効データ生成回路80及びバス制御回路90Aには、システムクロックに替えて、クロック生成回路110が生成した無効データ用クロックが供給されるように構成されており、本実施形態の無効データ生成回路80は、無効データ用クロックに同期して無効データを生成し、本実施形態のバス制御回路90Aは、無効データ用クロックに同期して無効データを出力する。更に、無効データ生成回路80は、第2または第3実施形態のように、反転データの生成を行う無効データ生成回路80Yを含む構成である場合には、データバス100から伝送データを受け付け可能となるように、入力側がデータバス100と直接接続される。
クロック生成回路110は、本実施形態では、システムクロックを逓倍または分周して、クロック周波数またはクロックタイミングの異なる複数のクロック信号を生成可能に構成され、CPU10からの制御により生成したクロック信号の何れか一つを選択して無効データ用クロックとして出力するように構成されている。更に、本実施形態のクロック生成回路110は、外部入力信号に応じて、無効データ用クロックの生成及び停止、クロック周波数及びクロックタイミングを設定可能に構成されている。尚、本実施形態では、無効データ用クロックの生成及び停止、クロック周波数及びクロックタイミングの設定を、外部入力により変更可能に構成したが、これに限るものではなく、予め固定的に設定されていても良いし、外部入力ではなくCPU10からの制御等に基づいて適宜変更するように構成されていても良い。
ここで、図11は、本実施形態における各種信号の信号波形及び消費電流波形を示している。図11に示すように、本実施形態のクロック生成回路110は、システムクロックを4逓倍したクロック信号CLK1、システムクロックを2逓倍したクロック信号CLK2、クロック信号CLK2のタイミングを1/4周期後方にずらしたクロック信号CLK3、及び、システムクロックを2分周したクロック信号CLK4を生成し、システムクロック及びクロック信号CLK1〜CLK4の何れか1つを選択して無効データ用クロックとする。図11では、無効データ生成回路80及びバス制御回路90Aに、無効データ用クロックCLK2が入力されている場合について示している。
本実施形態では、システムクロックとは異なる無効データ用クロックを生成するクロック生成回路110を設け、無効データ用クロックに応じて無効データを生成するように構成したので、無効データの出力タイミングのランダム性を高め、消費電流解析によるセキュリティデータや命令コードの解読をより困難にすることができる。
尚、本実施形態では、クロック生成回路110が、複数のクロック信号を生成して選択するように構成したが、所定の無効データ用クロックのみを生成するように構成しても良い。また、クロック生成回路110が生成するクロック信号は、図11に示すクロック信号CLK1〜CLK4に限られるものではなく、逓倍数、分周数、タイミングは任意に設定して良い。更に、本実施形態では、システムクロックを逓倍または分周して無効データ用クロックを生成する場合について説明したが、これに限るものではない。例えば、ICカード2の内部に搭載された自励発振回路を利用して無効データ用クロックを生成する構成、或いは、システムクロック以外の外部入力クロックや自励発振回路からのクロックを逓倍または分周して無効データ用クロックを生成する構成等であっても良い。
更に、本実施形態では、図10に示すように、本発明回路1Eを、上記第1〜第3実施形態の本発明回路1A〜1Cの何れかの各構成にクロック生成回路110を追加した場合について説明したが、図12に示すように、上記第4実施形態の本発明回路1Dの各構成にクロック生成回路110を追加して本発明回路1Fを構成しても良い。
〈別実施形態〉
〈1〉上記第1〜第5実施形態では、本発明回路1が、接触型のICカード2に搭載されている場合について説明したが、これに限るものではなく、非接触型のICカード2に搭載されていても良いし、接触型・非接触型の両方の機能を備えるICカード2に搭載されていても良い。非接触型のICカード2の場合は、例えば、図1に示す電源端子VDD、接地端子GND、リセット端子RST、入出力端子I/O及びクロック端子CLKに替えて、電磁波によりICカード2に対する電力供給及びICカード2とのデータ通信を行うリーダ・ライタ装置と通信を行うための構成として、アンテナ、整流回路、クロック抽出回路、無線信号を変復調する変調回路等を備えて構成される。
〈2〉上記第1〜第5実施形態では、メモリとして、ROM20及びフラッシュメモリ40、RAM30を備える場合について説明したが、これに限るものではない。メモリとしては、例えば、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)等の他のメモリであっても良い。また、1つのメモリを備える構成であっても良いし、複数のメモリを備える場合には、その組み合わせは任意である。
〈3〉上記第1実施形態では、本発明回路1Aの無効データ生成回路80を、乱数データを用いて無効データを生成するように構成し、上記第2実施形態では、本発明回路1Aの無効データ生成回路80を、伝送データに対するデータ変動量が等しくなるように無効データを生成したが、これに限るものではない。本発明回路1の無効データ生成回路80は、上記第3実施形態の第3無効データ生成回路80Zの構成であっても良い。
本発明に係る半導体集積回路を搭載したICカードの第1実施形態における部分概略構成例を示す概略ブロック図 本発明に係る半導体集積回路の第1実施形態における各信号波形及び消費電流波形の部分概略構成を示すタイミングチャート 本発明に係る半導体集積回路を搭載したICカードの第2実施形態における部分概略構成例を示す概略ブロック図 本発明に係る半導体集積回路の第2実施形態における各信号波形及び消費電流波形の部分概略構成を示すタイミングチャート 本発明に係る半導体集積回路を搭載したICカードの第3実施形態における部分概略構成例を示す概略ブロック図 本発明に係る半導体集積回路の第3実施形態における無効データ生成手段の概略構成を示す概略ブロック図 本発明に係る半導体集積回路の第3実施形態における各信号波形及び消費電流波形の部分概略構成を示すタイミングチャート 本発明に係る半導体集積回路を搭載したICカードの第4実施形態における部分概略構成例を示す概略ブロック図 本発明に係る半導体集積回路の第4実施形態における各信号波形及び消費電流波形の部分概略構成を示すタイミングチャート 本発明に係る半導体集積回路を搭載したICカードの第5実施形態における部分概略構成例を示す概略ブロック図 本発明に係る半導体集積回路の第5実施形態における各信号波形及び消費電流波形の部分概略構成を示すタイミングチャート 本発明に係る半導体集積回路を搭載したICカードの第5実施形態における他の部分概略構成例を示す概略ブロック図 従来技術に係る半導体集積回路における待機時間の設定に係る信号波形及び消費電流波形の概略を部分的に示すタイミングチャート
符号の説明
1 本発明に係る半導体集積回路
2 本発明に係るICカード
10 CPU(主制御手段)
20 ROM(メモリ)
30 RAM(メモリ)
40 フラッシュメモリ(メモリ)
50 入出力ポート
60 タイマ(周辺装置)
70 使用状態判定回路(使用状態判定手段)
80 無効データ生成回路(無効データ生成手段)
80X 第1無効データ生成回路
80Y 第2無効データ生成回路
80Z 第3無効データ生成回路
80Z 無効データ生成回路(無効データ生成手段)
85 乱数発生回路
86 無効データ用レジスタ
87 無効データ切り替え回路
90 バス制御回路(バス制御手段)
95 出力切り替え回路(出力切り替え手段)
100 データバス
110 クロック生成回路

Claims (12)

  1. 所定のセキュリティデータ、若しくは、前記セキュリティデータを用いたセキュリティデータ処理手順を含むデータ処理手順の1または複数が記憶されたメモリの1または複数と、
    前記メモリに記憶された前記データ処理手順の実行を制御する主制御手段と、
    前記主制御手段による前記データ処理手順の実行において用いられる伝送データを伝送するデータバスと、を備える半導体集積回路であって、
    前記メモリを含む前記データバスに接続された周辺装置に対する前記データバスを介した前記伝送データの入出力を制御するための1または複数の伝送制御信号に基づいて、前記データバスが使用されているか否かを検出する使用状態判定手段と、
    無効データを生成する無効データ生成手段と、
    前記使用状態判定手段において前記データバスが使用されていないと判定された場合に、前記データバスに対し、前記無効データ生成手段が生成した前記無効データを出力するバス制御手段と、を備えることを特徴とする半導体集積回路。
  2. 前記無効データ生成手段は、前記無効データの前記データバスへの伝送前に伝送される前記伝送データに対するデータ変化量、若しくは、前記無効データの前記データバスへの伝送後に伝送される前記伝送データに対するデータ変化量が、予め設定された所定の変化量となるように、前記無効データを生成することを特徴とする請求項1に記載の半導体集積回路。
  3. 前記無効データ生成手段は、所定の乱数を発生させる乱数発生手段を備え、前記乱数発生手段から出力される前記乱数を用いて前記無効データを生成することを特徴とする請求項1または2に記載の半導体集積回路。
  4. 前記無効データ生成手段は、
    前記無効データの前記データバスへの伝送前に伝送される前記伝送データに対するデータ変化量、若しくは、前記無効データの前記データバスへの伝送後に伝送される前記伝送データに対するデータ変化量が、予め設定された所定の変化量となるように、前記無効データを生成する第1無効データ生成手段と、
    所定の乱数を発生させる乱数発生手段を備え、前記乱数発生手段から出力される前記乱数を用いて前記無効データを生成する第2無効データ生成手段と、
    予め設定された所定のデータを前記無効データとする第3無効データ生成手段と、を備え、
    所定の無効データ切り替え条件に基づいて、前記第1無効データ生成手段、前記第2無効データ生成手段または前記第3無効データ生成手段の何れか一つを選択することを特徴とする請求項1に記載の半導体集積回路。
  5. 前記無効データ生成手段は、所定の前記データ処理手順で用いられる前記伝送データの反転データを生成し、前記伝送データの前記データバスへの伝送前または伝送後の前記データバスが使用されていない期間に、前記反転データを前記無効データとして出力することを特徴とする請求項1〜4の何れか1項に記載の半導体集積回路。
  6. 前記主制御手段は、前記バス制御手段による前記無効データの出力可否を設定するバス制御信号を生成し、
    前記バス制御手段は、前記無効データ生成手段から前記無効データを受け付けて、前記主制御手段からの前記バス制御信号に応じて前記無効データを前記データバスに出力することを特徴とする請求項1〜5の何れか1項に記載の半導体集積回路。
  7. 前記バス制御手段は、前記メモリ及び前記主制御手段から出力される前記伝送データの夫々と前記無効データ生成手段から出力される前記無効データを受け付け、前記伝送データ及び前記無効データの内の何れか一つを前記データバスに出力する出力切り替え手段を備え、
    前記周辺装置は、夫々、出力が前記バス制御手段を介して前記データバスに接続され、前記バス制御手段を介して前記データバスに前記伝送データを出力するように構成されており、
    前記出力切り替え手段は、前記使用状態判定手段において前記データバスが使用されていないと判定された場合に、前記無効データを出力するように切り替えることを特徴とする請求項1〜5の何れか1項に記載の半導体集積回路。
  8. 通常動作用に供給されるシステムクロックとは別に無効データ用クロックを生成するクロック生成回路を備え、
    前記無効データ生成手段は、前記無効データ用クロックに同期して前記無効データを生成し、
    前記バス制御手段は、前記無効データ用クロックに同期して前記無効データを出力することを特徴とする請求項1〜7の何れか1項に記載の半導体集積回路。
  9. 前記クロック生成回路は、前記システムクロックを逓倍または分周して、前記無効データ用クロックを生成することを特徴とする請求項8に記載の半導体集積回路。
  10. 前記クロック生成回路は、クロック周波数またはクロックタイミングの異なる複数のクロック信号を生成可能に構成され、前記クロック信号の何れか一つを選択して前記無効データ用クロックとして出力することを特徴とする請求項8または9に記載の半導体集積回路。
  11. 前記クロック生成回路は、外部入力信号に応じて、前記無効データ用クロックの生成及び停止、クロック周波数及びクロックタイミングを設定することを特徴とする請求項8〜10の何れか1項に記載の半導体集積回路。
  12. 請求項1〜11の何れか1項に記載の半導体集積回路を備えてなることを特徴とするICカード。
JP2007108211A 2007-04-17 2007-04-17 半導体集積回路及び該半導体集積回路を搭載したicカード Withdrawn JP2008269060A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007108211A JP2008269060A (ja) 2007-04-17 2007-04-17 半導体集積回路及び該半導体集積回路を搭載したicカード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007108211A JP2008269060A (ja) 2007-04-17 2007-04-17 半導体集積回路及び該半導体集積回路を搭載したicカード

Publications (1)

Publication Number Publication Date
JP2008269060A true JP2008269060A (ja) 2008-11-06

Family

ID=40048513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007108211A Withdrawn JP2008269060A (ja) 2007-04-17 2007-04-17 半導体集積回路及び該半導体集積回路を搭載したicカード

Country Status (1)

Country Link
JP (1) JP2008269060A (ja)

Similar Documents

Publication Publication Date Title
JP4353435B2 (ja) 乱数発生方法と半導体集積回路装置及び電子装置
US9135453B2 (en) Preventing data extraction by side-channel attack
US7376687B2 (en) Pseudo-random number generator
US20080025506A1 (en) Memory access control apparatus and method, and communication apparatus
JP4773412B2 (ja) 集積回路の刻時制御方法及びその方法を適用した集積回路
KR100909364B1 (ko) 시스템 클록의 노출을 차단하는 메모리 컨트롤러와 그 방법
US7372290B2 (en) System and method for using dummy cycles to mask operations in a secure microcontroller
US20160277025A1 (en) Data generating device and authentication system
TW583554B (en) Safety-data-processing unit and its method
US8826042B2 (en) Memory controller, memory control apparatus, memory device, memory information protection system, control method for memory control apparatus, and control method for memory device
JP2007128184A (ja) 消費電力解析対策機能付き半導体装置
US7319758B2 (en) Electronic device with encryption/decryption cells
JP2008003976A (ja) メモリアクセス制御装置および方法、並びに、通信装置
KR100486808B1 (ko) 데이터 처리 장치 및 그것을 이용한 메모리 카드
KR101646506B1 (ko) 난수 발생기
JP4168305B2 (ja) Icカードとマイクロコンピュータ
US7949698B2 (en) Circuit arrangement and method for initializing a random number generator
US11550685B2 (en) Mode controller and integrated circuit chip including the same
JP2008269060A (ja) 半導体集積回路及び該半導体集積回路を搭載したicカード
JP6396119B2 (ja) Icモジュール、icカード、及びicカードの製造方法
WO2010116666A1 (ja) メモリ装置、メモリ認証システム、及びメモリ認証プログラム
JP2010216998A (ja) テストモード設定回路およびそれを備えた半導体集積回路
US20100264982A1 (en) Electronic circuit and method of masking current requirements of an electronic circuit
CN111600873B (zh) 防侧信道攻击方法及相关装置
JP2006024140A (ja) 乱数生成装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100706