JP6516097B2 - Arithmetic device, IC card, arithmetic method, and arithmetic processing program - Google Patents
Arithmetic device, IC card, arithmetic method, and arithmetic processing program Download PDFInfo
- Publication number
- JP6516097B2 JP6516097B2 JP2015118397A JP2015118397A JP6516097B2 JP 6516097 B2 JP6516097 B2 JP 6516097B2 JP 2015118397 A JP2015118397 A JP 2015118397A JP 2015118397 A JP2015118397 A JP 2015118397A JP 6516097 B2 JP6516097 B2 JP 6516097B2
- Authority
- JP
- Japan
- Prior art keywords
- clock signal
- command
- processing
- synchronization
- arithmetic
- 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.)
- Active
Links
Images
Description
本発明は、複数のコアを備え、並列処理を行うことが可能な演算装置の技術分野に関する。 The present invention relates to the technical field of an arithmetic device that includes multiple cores and can perform parallel processing.
故障すると安全性を損なう可能性のある制御装置等では、サブコア等の監視部によってメインコアを監視し、メインコアの異常を検出して制御装置の安全な動作を保証する策が講じられてきた。その一例として、特許文献1に開示されるように、ロックステップと称される技術が普及している。ロックステップとは、複数のコアが同じ処理を並列的に実行し、実行結果を比較して各コアが正常に動作していることを判断する技術である。ロックステップが故障の検出を目的とする一方で、例えば、特許文献2に開示されるように、暗号技術を用いて対向機器を認証することにより、安全な動作を保証する技術が知られている。
For control devices that may lose safety if they fail, measures have been taken to monitor the main core by a monitoring unit such as a sub core and detect an abnormality in the main core to guarantee the safe operation of the control device. . As one example, as disclosed in
しかしながら、認証用デバイスとして知られているスマートカードやTPM(Trusted Platform Module)等の分野においては、サイドチャネル攻撃が知られている。サイドチャネル攻撃とは、古くから暗号演算用制御装置において存在する脅威であり、演算時に消費される電力や発生する電磁波に代表される副次的な情報(サイドチャネル情報)を利用して演算内容を推定する攻撃手法である。例えば、複数のコアを備え、並列処理を行うことが可能なICカードにおいて、当該複数のコアが同一の処理を同時に実行する場合、消費電力や電磁波が増長されてサイドチャネル攻撃の標的になりやすくなってしまうことが問題となる。 However, side channel attacks are known in fields such as smart cards and TPMs (Trusted Platform Module) known as authentication devices. Side channel attack is a threat that has existed for a long time in the controller for cryptographic computation, and the content of computation using power consumed during computation and secondary information (side channel information) represented by generated electromagnetic waves Attack method to estimate For example, in an IC card provided with a plurality of cores and capable of performing parallel processing, when the plurality of cores simultaneously execute the same processing, power consumption and electromagnetic waves are increased and are likely to be targets for side channel attacks. Becoming a problem.
そこで、本発明は、上記問題等に鑑みてなされたものであり、複数のコアが同一の処理を実行してもサイドチャネル情報が増長されず、高い耐タンパ性を実現することが可能な演算装置、ICカード、演算方法、及び演算処理プログラムを提供することを目的とする。 Therefore, the present invention has been made in view of the above problems and the like, and side channel information is not increased even if a plurality of cores execute the same processing, and it is possible to realize high tamper resistance. An object is to provide a device, an IC card, an arithmetic method, and an arithmetic processing program.
上記課題を解決するために、請求項1に記載の発明は、外部端末から受信されたコマンドに応じて同一の処理を並列して実行する第1の演算ユニット及び第2の演算ユニットを備える演算装置であって、クロック信号生成手段により生成されたクロック信号を所定時間遅延させるクロック信号遅延手段を備え、前記第1の演算ユニットは、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記処理を行い、前記第2の演算ユニットは、前記コマンドがセキュリティ処理を要求するコマンドである場合、前記クロック信号遅延手段により所定時間遅延したクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理を行い、前記コマンドがセキュリティ処理を要求するコマンドでない場合、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理以外の処理を行うことを特徴とする。
In order to solve the above problem, the invention according to
請求項2に記載の発明は、請求項1に記載の演算装置において、前記クロック信号遅延手段は、前記クロック信号を、前記所定時間として半周期遅延させることを特徴とする。
The invention according to claim 2 is characterized in that, in the arithmetic device according to
請求項3に記載の発明は、外部端末から受信されたコマンドに応じて同一の処理を並列して実行する第1の演算ユニット及び第2の演算ユニットを備えるICカードであって、クロック信号生成手段により生成されたクロック信号を所定時間遅延させるクロック信号遅延手段を備え、前記第1の演算ユニットは、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記処理を行い、前記第2の演算ユニットは、前記コマンドがセキュリティ処理を要求するコマンドである場合、前記クロック信号遅延手段により所定時間遅延したクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理を行い、前記コマンドがセキュリティ処理を要求するコマンドでない場合、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理以外の処理を行うことを特徴とする。 The invention according to claim 3 is an IC card including a first operation unit and a second operation unit that execute the same process in parallel according to a command received from an external terminal , wherein the clock signal is generated. A clock signal delay unit for delaying the clock signal generated by the unit for a predetermined time, and the first arithmetic unit receives the clock signal generated by the clock signal generation unit, and synchronizes with the clock signal. When the processing is performed and the command is a command requiring security processing , the second arithmetic unit receives a clock signal delayed by a predetermined time by the clock signal delay unit, and synchronizes the security signal in synchronization with the clock signal. There line processing, if the command is not a command for requesting the security process, said clock signal Receives a clock signal generated by the generating means and processing the rows Ukoto other than the security processing in synchronization with the clock signal.
請求項4に記載の発明は、外部端末から受信されたコマンドに応じて同一の処理を並列して実行する第1の演算ユニット及び第2の演算ユニットを備える演算装置における演算方法であって、クロック信号生成手段により生成されたクロック信号を所定時間遅延させるクロック信号遅延ステップを含み、前記第1の演算ユニットは、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記処理を行い、前記第2の演算ユニットは、前記コマンドがセキュリティ処理を要求するコマンドである場合、前記クロック信号遅延ステップにより所定時間遅延したクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理を行い、前記コマンドがセキュリティ処理を要求するコマンドでない場合、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理以外の処理を行うことを特徴とする。
The invention according to
請求項5に記載の発明は、外部端末から受信されたコマンドに応じて同一の処理を並列して実行する第1の演算ユニット及び第2の演算ユニットを備えるコンピュータに、クロック信号生成手段により生成されたクロック信号を所定時間遅延させるクロック信号遅延ステップを実行させ、前記第1の演算ユニットは、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記処理を行い、前記第2の演算ユニットは、前記コマンドがセキュリティ処理を要求するコマンドである場合、前記クロック信号遅延ステップにより所定時間遅延したクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理を行い、前記コマンドがセキュリティ処理を要求するコマンドでない場合、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理以外の処理を行うことを特徴とする。 The invention according to claim 5 is a computer having a first arithmetic unit and a second arithmetic unit that executes the same process in parallel according to a command received from an external terminal , generated by clock signal generation means. Performing a clock signal delay step of delaying the clock signal for a predetermined time, and the first arithmetic unit inputs the clock signal generated by the clock signal generation unit, and performs the processing in synchronization with the clock signal. performed, the second operation unit, when the command is a command for requesting the security process receives a clock signal delayed a predetermined time by the clock signal delaying step, the security processing in synchronization with the clock signal There line, if the command is not a command for requesting the security process, the click Tsu receives a clock signal generated by the click signal generating means, in synchronism with the clock signal and said row Ukoto processing other than the security processing.
本発明によれば、複数のコアが同一の処理を実行してもサイドチャネル情報が増長されず、高い耐タンパ性を実現することができる。 According to the present invention, even when a plurality of cores execute the same processing, side channel information is not increased, and high tamper resistance can be realized.
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、ICチップに対して本発明を適用した場合の実施の形態である。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The embodiment described below is an embodiment in the case where the present invention is applied to an IC chip.
先ず、図1を参照して、本実施形態に係るICチップの概要構成について説明する。図1は、ICチップCの概要構成例を示す図である。ICチップCは、本発明の演算装置の一例である。なお、ICチップCは、キャッシュカード、クレジットカード、電子マネーカード、社員カード等に搭載されて使用される。或いは、ICチップCは、スマートフォンや携帯電話機等の通信機器に組み込まれる。ICチップCは、通信機器の回路基板上に直接組み込んで構成するようにしてもよい。 First, with reference to FIG. 1, a schematic configuration of an IC chip according to the present embodiment will be described. FIG. 1 is a view showing a schematic configuration example of an IC chip C. As shown in FIG. The IC chip C is an example of the arithmetic device of the present invention. The IC chip C is mounted on a cash card, a credit card, an electronic money card, an employee card or the like and used. Alternatively, the IC chip C is incorporated in a communication device such as a smartphone or a mobile phone. The IC chip C may be built directly on the circuit board of the communication device.
ICチップCは、図1に示すように、コア1、コア2、クロック生成回路3、クロック切替回路4、切替制御レジスタ5、RAM(Random Access Memory)6、フラッシュメモリ7、ROM(Read Only Memory)8、及びI/O回路9を備えて構成される。コア1は、第1の演算ユニットの一例である。コア2は、第2の演算ユニットの一例である。コア1とコア2とは並列処理が可能に構成されている。コア1、コア2、切替制御レジスタ5、RAM6、フラッシュメモリ7、ROM8、及びI/O回路9は、バス10に接続されている。バス10は、アドレスバスとデータバスを備える。なお、クロック生成回路3はICチップCに備えられなくともよい。この場合、ICチップCは、外部端末に備えられたクロック生成回路からI/O回路9を介してクロック信号を入力する。
As shown in FIG. 1, the IC chip C includes a
コア1,2は、夫々、演算器、内部メモリ、プログラムカウンタ、及び割込みコントローラ等を備え、同一の処理を並列して実行する。演算器は、それぞれ、命令レジスタ及びデコーダを備える。内部メモリは、それぞれ、データレジスタを備える。プログラムカウンタは、次に実行されるべき命令コードが記憶されているフラッシュメモリ7またはROM8上のアドレス(番地)を保持する。割込みコントローラは、コア1とコア2とがバス10を介さずに互いに割込み指令を与えるためのものである。
The
クロック生成回路3は、可変周波数発生回路(PLL(Phase Locked Loop))等を備える。クロック生成回路3は、クロック信号生成手段の一例である。クロック生成回路3は、例えば、外部端末からI/O回路9を介して入力されたクロックCLK、またはICチップCが備える内部発振器(図示せず)から入力されたクロックCLKから可変周波数発生回路により、コア1、コア2、切替制御レジスタ5、RAM6、フラッシュメモリ7、ROM8、及びI/O回路9用のクロック信号を生成する。例えば、クロック生成回路3は、入力されたクロックCLKに基づいて、クロック周波数が60MHzのクロック信号(システムクロック)を生成し、生成したクロック信号をコア1及びクロック切替回路4へ出力する。また、クロック生成回路3は、入力されたクロックCLKを、切替制御レジスタ5、RAM6、フラッシュメモリ7、ROM8、及びI/O回路9へ出力する。
The clock generation circuit 3 includes a variable frequency generation circuit (PLL (Phase Locked Loop)) or the like. The clock generation circuit 3 is an example of a clock signal generation unit. The clock generation circuit 3 is, for example, a variable frequency generation circuit from a clock CLK input from an external terminal through the I /
クロック切替回路4は、インバータ(論理反転回路)、及びセレクタ等を備える。インバータは、クロック信号遅延手段の一例である。インバータは、クロック生成回路3から入力されたクロック信号を半周期遅延(例えば、クロック周波数が60MHzである場合、1クロック(1周期)に相当する時間(17ns)の“1/2”の時間遅延)させる。言い換えれば、インバータは、入力されたクロック信号の論理レベル(ハイレベルとローレベル)を反転させる。セレクタは、切替制御レジスタ5から出力された信号の論理レベルに応じて、クロック生成回路3から入力されたクロック信号と、インバータにより半周期遅延されたクロック信号との何れか一方のクロック信号を選択可能になっている。例えば、ハイレベルの信号が入力された場合、インバータにより半周期遅延されたクロック信号が選択される。これにより選択されたクロック信号がコア2へ出力される。図1の例では、インバータにより半周期遅延されたクロック信号が出力された例を示している。これにより、コア2へ入力されるクロック信号は、コア1へ入力されるクロック信号よりも半周期遅延(言い換えれば、クロック信号の論理レベルが反転)することになる。
The
切替制御レジスタ5は、例えば8ビットのレジスタであり、特定のビット(例えば最上位ビット)の2値状態(0または1)に応じた論理レベルの信号をクロック切替回路4のセレクタへ出力する。例えば、上記特定ビットは、初期状態では“0”が保持されているが、所定の条件下で、インバータの使用状態を表す「1」へ設定変更される。
The switching control register 5 is, for example, an 8-bit register, and outputs a signal of a logic level according to the binary state (0 or 1) of a specific bit (for example, the most significant bit) to the selector of the
RAM6は、ワークメモリであり、コア1及びコア2による処理結果が一時的に記憶される。フラッシュメモリ7は、不揮発性メモリであり、コア1及びコア2に実行させるOS及びアプリケーション等のプログラムを記憶する。また、フラッシュメモリ7には、セキュアな記憶領域が設けられており、この記憶領域には、暗号鍵(秘密鍵と公開鍵の組であってもよい)が記憶されている。なお、フラッシュメモリ7の代わりに、「Electrically Erasable Programmable Read-Only Memory」を適用しても構わない。また、ROM8には、フラッシュメモリ7に記憶されるプログラムの一部が記憶される。
The
I/O回路9は、外部端末とのインターフェイスを担う。接触式のICチップCの場合、I/O回路9には、例えば、C1〜C8の8個の端子が備えられている。例えば、C1端子は電源端子、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子は外部端末との間で通信を行うための端子である。一方、非接触式のICチップCの場合、I/O回路9には、例えば、アンテナ、及び変復調回路が備えられている。なお、外部端末の例としては、ICカード発行機、ATM、改札機、認証用ゲート等が挙げられる。或いは、ICカード1が通信機器に組み込まれる場合、外部端末には通信機器の機能を担う制御部が該当する。
The I /
以上の構成において、コア1は、クロック生成回路3により生成されたクロック信号を入力し、当該クロック信号に同期して処理を行う。一方、コア2は、クロック生成回路3により生成されたクロック信号、またはクロック生成回路3により生成され切替制御レジスタ5のインバータにより半周期遅延したクロック信号を入力し、当該クロック信号に同期してコア1と同一の処理を行う。このような処理は、例えば外部端末からのコマンドが受信された場合に、以下の(1)〜(4)の流れで繰り返し行われる。
In the above configuration, the
(1)プログラムカウンタが指し示すアドレスに記憶されている命令コードが、フラッシュメモリ7から命令レジスタにフェッチされる(命令読出)。
(1) The instruction code stored at the address pointed to by the program counter is fetched from the
(2)フェッチされた命令コードがデコーダによって解釈(デコード)される(命令解釈)。なお、命令コードは、アプリケーションまたはOSに記述されている。例えば、複数のアプリケーションから使用される暗号用命令コードなどは、OSに記述されている。 (2) The fetched instruction code is interpreted (decoded) by the decoder (instruction interpretation). The instruction code is described in the application or the OS. For example, an instruction code for encryption used by a plurality of applications is described in the OS.
(3)解釈された命令が実行される(命令実行)。なお、命令実行により、例えば、通常の算術演算、論理演算、暗号化演算、復号演算等が行われる。 (3) The interpreted instruction is executed (instruction execution). Note that, for example, normal arithmetic operation, logical operation, encryption operation, decryption operation, and the like are performed by instruction execution.
(4)演算結果がRAM6に書き込まれる(書き込み)。書き込み後、プログラムカウンタの値が進められ、次の命令コードがフェッチされることになる。 (4) The operation result is written to the RAM 6 (writing). After writing, the value of the program counter is advanced to fetch the next instruction code.
例えば、外部端末から受信されたコマンドが、暗号化演算または復号演算等を伴う認証処理(セキュリティ処理の一例)を要求するコマンド(認証コマンド)でない場合、コア1は、切替制御レジスタ5の特定ビットの設定変更を行うことなく(初期状態を表す“0”)、コア2へ認証処理の要求を行う。この場合、コア1及びコア2へは、クロック生成回路3により生成された同一のクロック信号が入力される。こうして、コア1及びコア2は、クロック生成回路3により生成されたクロック信号を入力し、当該クロック信号に同期して同一の処理を行う。なお、例えば認証処理であることが判定される際に、アプリケーションのレベルで判定される場合もあれば(認証コマンドを受信した場合など)、OSのレベルで判定される場合もある(暗号化演算実行時など)。
For example, when the command received from the external terminal is not a command (authentication command) for requesting an authentication process (an example of a security process) including an encryption operation or a decryption operation, the
一方、外部端末から受信されたコマンドが、暗号化演算または復号演算等を伴う認証処理(セキュリティ処理の一例)を要求するコマンドである場合、コア1は、切替制御レジスタ5の特定ビットを、初期状態を表す“0”から、インバータの使用状態を表す“1”へ設定変更する。これにより、クロック切替回路4のセレクタは、切替制御レジスタ5から出力された信号の論理レベル(例えば、ハイレベル)に応じて、インバータにより半周期遅延されたクロック信号を選択するように切り替える。そして、コア1は、コア2へ認証処理の要求を行う。この場合、コア1へは、クロック生成回路3により生成されたクロック信号が入力される一方、コア2へは、当該クロック信号から半周期遅延されたクロック信号が入力される。
On the other hand, when the command received from the external terminal is a command for requesting an authentication process (an example of a security process) involving an encryption operation or a decryption operation, the
こうして、コア1は、クロック生成回路3により生成されたクロック信号を入力し、当該クロック信号に同期して処理を行う一方、コア2は、クロック生成回路3により生成され切替制御レジスタ5のインバータにより半周期遅延したクロック信号を入力し、当該クロック信号に同期してコア1と同一の処理を行う。
Thus, while the
図2は、コア1及びコア2が同じクロック信号に同期して同一の処理を行ったときの消費電力の一例を示す図である。図2の場合、命令実行時に消費電力が最も高くなっており、コア1の命令実行とコア2の命令実行とが同じタイミングであることから、合計消費電力が2倍に増長されている。一方、図3は、コア1がクロック信号に同期して認証処理を行うと共に、コア2が当該クロック信号から半周期遅延したクロック信号に同期して同一の認証処理を行ったときの消費電力の一例を示す図である。図3の場合、コア1の命令実行とコア2の命令実行とが半周期ずれていることから、図2の場合に比べ、合計消費電力が平坦化されている。
FIG. 2 is a diagram showing an example of power consumption when the
以上説明したように、上記実施形態によれば、ICチップCは、クロック生成回路3により生成されたクロック信号を半周期遅延させるインバータを備え、コア1は、クロック生成回路3により生成されたクロック信号を入力し、当該クロック信号に同期して処理を行い、コア2は、クロック生成回路3により半周期遅延したクロック信号を入力し、当該クロック信号に同期してコア1と同一の処理を行うように構成したので、コア1及びコア2が同一の処理を実行してもサイドチャネル情報が増長されず、高い耐タンパ性を実現することができる。また、コア2は、認証処理等のセキュリティ処理以外の処理を行う場合、コア1と同じクロック信号を入力し、当該クロック信号に同期して当該処理を行うように構成したので、クロック信号の遅延による処理時間の遅延を最低限に抑えることができる。
As described above, according to the above embodiment, the IC chip C includes an inverter that delays the clock signal generated by the clock generation circuit 3 by a half cycle, and the
なお、上記実施形態においては、クロック信号遅延手段としてインバータを適用した場合を説明したが、クロック信号の立ち上がりエッジと立ち下がりエッジとを検出するクロック検知回路を用いてクロック信号を半周期遅延させるように構成してもよい。この場合、ICチップCには、クロック切替回路4に代えてクロック検知回路が備えられ、当該クロック検知回路は、コア1とコア2のそれぞれに接続される。ここで、コア1とコア2の共通のクロック検知回路が備えられてもよいし、コア1とコア2と別々のクロック検知回路が備えられてもよい。そして、コア1に接続されるクロック検知回路はクロック信号の立ち上がりエッジを検出してクロックの開始位置とし、コア2に接続されるクロック検知回路はクロック信号の立ち下がりエッジを検出してクロックの開始位置とする。これにより、コア2は、コア1に入力されるクロック信号に対して半周期遅延したクロック信号を入力し、当該クロック信号に同期して前記処理を行うことができる。また、上記実施形態においては、クロック信号遅延手段としてインバータを例にとり、入力されたクロック信号を半周期(0.5周期)遅延(所定時間遅延の一例)させるように構成した。この場合、処理速度と、本発明の効果(サイドチャネル情報が増長されない)との兼ね合いから好適であるが、半周期遅延させることに代えて、クロック信号遅延手段は、入力されたクロック信号を1.5周期または2周期(或いは0.5周期、1.5周期、及び2周期以外の時間)遅延させるように構成してもよく、この構成であっても本発明の効果を発揮することができる。また、上記実施形態においては、2つのコアを備えたICチップを例にとって説明したが、3つ以上のコアを備えるマルチコアプロセッサに対しても本発明は適用可能である。
In the above embodiment, although the case where the inverter is applied as the clock signal delay means has been described, the clock signal is delayed by a half cycle using a clock detection circuit that detects the rising edge and the falling edge of the clock signal. You may configure it. In this case, the IC chip C is provided with a clock detection circuit instead of the
1,2 コア
3 クロック生成回路
4 クロック切替回路
5 切替制御レジスタ
6 RAM
7 フラッシュメモリ
8 ROM
9 I/O回路
10 バス
C ICチップ
1, 2 Core 3
7 Flash memory 8 ROM
9 I /
Claims (5)
クロック信号生成手段により生成されたクロック信号を所定時間遅延させるクロック信号遅延手段を備え、
前記第1の演算ユニットは、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記処理を行い、
前記第2の演算ユニットは、前記コマンドがセキュリティ処理を要求するコマンドである場合、前記クロック信号遅延手段により所定時間遅延したクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理を行い、前記コマンドがセキュリティ処理を要求するコマンドでない場合、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理以外の処理を行うことを特徴とする演算装置。 An arithmetic apparatus comprising a first arithmetic unit and a second arithmetic unit that execute the same process in parallel according to a command received from an external terminal ,
Clock signal delaying means for delaying the clock signal generated by the clock signal generating means for a predetermined time;
The first operation unit receives the clock signal generated by the clock signal generation unit, and performs the processing in synchronization with the clock signal.
The second arithmetic unit, when the command is a command for requesting the security process receives a clock signal delayed a predetermined time by said clock signal delay means, line physician the security processing in synchronization with the clock signal An arithmetic device characterized in that if the command is not a command requiring security processing, a clock signal generated by the clock signal generation means is input and processing other than the security processing is performed in synchronization with the clock signal; .
クロック信号生成手段により生成されたクロック信号を所定時間遅延させるクロック信号遅延手段を備え、
前記第1の演算ユニットは、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記処理を行い、
前記第2の演算ユニットは、前記コマンドがセキュリティ処理を要求するコマンドである場合、前記クロック信号遅延手段により所定時間遅延したクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理を行い、前記コマンドがセキュリティ処理を要求するコマンドでない場合、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理以外の処理を行うことを特徴とするICカード。 An IC card comprising a first arithmetic unit and a second arithmetic unit that execute the same process in parallel according to a command received from an external terminal ,
The clock signal generated by the clock signal generating means comprises a clock signal delay means for a predetermined time late cast,
The first operation unit receives the clock signal generated by the clock signal generation unit, and performs the processing in synchronization with the clock signal.
The second arithmetic unit, when the command is a command for requesting the security process receives a clock signal delayed a predetermined time by said clock signal delay means, line physician the security processing in synchronization with the clock signal If the command is not a command for requesting the security process, IC to said clock signal generating means receives a clock signal generated by, said line Ukoto processing other than the security processing in synchronization with the clock signal card.
クロック信号生成手段により生成されたクロック信号を所定時間遅延させるクロック信号遅延ステップを含み、
前記第1の演算ユニットは、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記処理を行い、
前記第2の演算ユニットは、前記コマンドがセキュリティ処理を要求するコマンドである場合、前記クロック信号遅延ステップにより所定時間遅延したクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理を行い、前記コマンドがセキュリティ処理を要求するコマンドでない場合、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理以外の処理を行うことを特徴とする演算方法。 An arithmetic method in an arithmetic device provided with a first arithmetic unit and a second arithmetic unit that executes the same process in parallel according to a command received from an external terminal ,
Including a clock signal delay step of delaying the clock signal generated by the clock signal generation means for a predetermined time period;
The first operation unit receives the clock signal generated by the clock signal generation unit, and performs the processing in synchronization with the clock signal.
The second arithmetic unit, when the command is a command for requesting the security process by the clock signal delaying step receives a clock signal delayed a predetermined time, the row physician the security processing in synchronization with the clock signal If the command is not a command for requesting the security process, calculation the inputs a clock signal the clock signal generated by the generation means and row Ukoto processing other than the security processing in synchronization with the clock signal Method.
クロック信号生成手段により生成されたクロック信号を所定時間遅延させるクロック信号遅延ステップを実行させ、
前記第1の演算ユニットは、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記処理を行い、
前記第2の演算ユニットは、前記コマンドがセキュリティ処理を要求するコマンドである場合、前記クロック信号遅延ステップにより所定時間遅延したクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理を行い、前記コマンドがセキュリティ処理を要求するコマンドでない場合、前記クロック信号生成手段により生成されたクロック信号を入力し、当該クロック信号に同期して前記セキュリティ処理以外の処理を行うことを特徴とする演算処理プログラム。 A computer comprising a first arithmetic unit and a second arithmetic unit that execute the same process in parallel according to a command received from an external terminal ,
Performing a clock signal delay step of delaying the clock signal generated by the clock signal generation means for a predetermined time;
The first operation unit receives the clock signal generated by the clock signal generation unit, and performs the processing in synchronization with the clock signal.
The second arithmetic unit, when the command is a command for requesting the security process by the clock signal delaying step receives a clock signal delayed a predetermined time, the row physician the security processing in synchronization with the clock signal If the command is not a command for requesting the security process, calculation the inputs a clock signal the clock signal generated by the generation means and row Ukoto processing other than the security processing in synchronization with the clock signal Processing program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015118397A JP6516097B2 (en) | 2015-06-11 | 2015-06-11 | Arithmetic device, IC card, arithmetic method, and arithmetic processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015118397A JP6516097B2 (en) | 2015-06-11 | 2015-06-11 | Arithmetic device, IC card, arithmetic method, and arithmetic processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017004304A JP2017004304A (en) | 2017-01-05 |
JP6516097B2 true JP6516097B2 (en) | 2019-05-22 |
Family
ID=57754331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015118397A Active JP6516097B2 (en) | 2015-06-11 | 2015-06-11 | Arithmetic device, IC card, arithmetic method, and arithmetic processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6516097B2 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2399426A (en) * | 2003-03-12 | 2004-09-15 | Sharp Kk | Fault detection in data processing apparatus |
KR20070083772A (en) * | 2004-10-25 | 2007-08-24 | 로베르트 보쉬 게엠베하 | Method and device for synchronising in a multi-processor system |
JP2010160712A (en) * | 2009-01-09 | 2010-07-22 | Renesas Technology Corp | Semiconductor data processing device and data processing system |
-
2015
- 2015-06-11 JP JP2015118397A patent/JP6516097B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017004304A (en) | 2017-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Moore et al. | Improving smart card security using self-timed circuits | |
AU725888B2 (en) | Improved integrated circuit and process for using an integrated circuit of this type | |
JP6053786B2 (en) | Firmware-based Trusted Platform Module (TPM) for ARM® Trust Zone implementation | |
CN108885663B (en) | Adaptive system and program for making processor resistant to transient fault attack | |
TWI621963B (en) | System and method for protection from side-channel attacks by varying clock delays | |
KR100909364B1 (en) | Memory controller and method of blocking system clock exposure | |
US7372290B2 (en) | System and method for using dummy cycles to mask operations in a secure microcontroller | |
US11308217B2 (en) | Randomized execution countermeasures against fault injection attacks during boot of an embedded device | |
Mahmoud et al. | Electrical-level attacks on CPUs, FPGAs, and GPUs: Survey and implications in the heterogeneous era | |
CN108075877A (en) | A kind of security system and terminal chip | |
WO2015145487A1 (en) | Clock phase control circuit | |
JP2005513604A (en) | A system that improves the fault tolerance and security of computing systems | |
JP3827050B2 (en) | IC card and semiconductor integrated circuit device | |
CN112149190A (en) | Hot start attack mitigation for non-volatile memory modules | |
Tsiokanos et al. | DTA-PUF: Dynamic timing-aware physical unclonable function for resource-constrained devices | |
Mahmoud et al. | DFAulted: Analyzing and exploiting CPU software faults caused by FPGA-driven undervolting attacks | |
EP1465038A1 (en) | Memory security device for flexible software environment | |
US8412996B2 (en) | Method and device for checking the integrity of a logic signal, in particular a clock signal | |
US9536086B2 (en) | Circuit arrangement, a method for forming a circuit arrangement, and method for integrity checking | |
JP6516097B2 (en) | Arithmetic device, IC card, arithmetic method, and arithmetic processing program | |
CN110032897B (en) | Multi-core processor and time constraint-based fault attack method thereof | |
JP6814305B2 (en) | Terminal chip integrated with security elements | |
US7747935B2 (en) | Method and device for securing the reading of a memory | |
EP1728152B1 (en) | Pipeline circuit | |
Noubir et al. | Towards malicious exploitation of energy management mechanisms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180426 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181211 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190208 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190320 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190402 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6516097 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |