JP2014126935A - Ic card, data duplication control method, and data duplication control program - Google Patents
Ic card, data duplication control method, and data duplication control program Download PDFInfo
- Publication number
- JP2014126935A JP2014126935A JP2012281455A JP2012281455A JP2014126935A JP 2014126935 A JP2014126935 A JP 2014126935A JP 2012281455 A JP2012281455 A JP 2012281455A JP 2012281455 A JP2012281455 A JP 2012281455A JP 2014126935 A JP2014126935 A JP 2014126935A
- Authority
- JP
- Japan
- Prior art keywords
- response data
- address
- external terminal
- data
- communication buffer
- 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.)
- Granted
Links
Images
Landscapes
- Credit Cards Or The Like (AREA)
Abstract
Description
本発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードの技術に関する。 The present invention comprises a controller that executes a predetermined process corresponding to a command received from an external terminal, and a memory that stores response data to be output to the external terminal based on a result of the process, the response data The present invention relates to a technology of an IC card that copies the response data copied from the memory to the communication buffer and then outputs the response data copied to the communication buffer to the external terminal.
セキュリティ性が重要視されるICカードでは、外部からの攻撃などによる不正動作に対する防止手段を備えていなければならない。外部からの攻撃とは、故障解析と呼ばれるICカードに搭載されたICチップに誤動作を起こさせるための手段であり、代表的なものとしてDFA(Differential Fault Analysis)が挙げられる。 An IC card that places importance on security must be provided with a means for preventing unauthorized operation due to an attack from the outside. The attack from the outside is a means for causing a malfunction in an IC chip mounted on an IC card called failure analysis, and a typical example is DFA (Differential Fault Analysis).
ICカードは、外部端末との通信に接触I/Fや非接触I/Fを利用する。外部端末から送信されたコマンドをそれらのI/Fにて受信し、解釈、実行した後、レスポンスデータを応答する。このレスポンスデータは、ICカード内に保持する値であったり、カード内で演算した結果の値であったりするが、これらのデータをICカードから外部端末へと返送する際、ICカードは当該データを通信用のバッファへと複製(コピー)し、そこからレスポンスデータとして外部端末へ返送する。この時、通信用バッファへの複製時に外部から攻撃を受けると、誤ったアドレスのデータが通信用のバッファへと複製されることになり、本来は出力してはいけないアドレスのデータが出力されてしまう恐れがある。 The IC card uses a contact I / F or a non-contact I / F for communication with an external terminal. The command transmitted from the external terminal is received by those I / Fs, interpreted and executed, and then response data is returned. This response data is a value held in the IC card or a value obtained by calculation in the card. When returning these data from the IC card to the external terminal, the IC card Is copied (copied) to the communication buffer, and then returned as response data to the external terminal. At this time, if an attack is received from the outside when copying to the communication buffer, the data at the wrong address will be copied to the communication buffer, and data that should not be output will be output. There is a risk.
特許文献1には、外部から不正な攻撃が行なわれた場合に、内部の秘匿したいデータ等を外部へ応答することを防止する技術が開示されている。特許文献1の技術では、ICカードにおいて外部へ応答するための応答データを記憶する応答データエリアを持つメモリから送信バッファに対してデータを転送する前に、当該データの転送元が当該メモリの応答データエリアであることを確認し、この確認の結果、当該データの転送元が当該メモリの応答データエリアである場合は送信バッファへのデータ転送を許可し、そうでない場合は送信バッファへのデータ転送を停止するようになっている。 Patent Document 1 discloses a technique for preventing response of internal confidential data or the like to the outside when an unauthorized attack is performed from the outside. In the technique of Patent Document 1, before transferring data to a transmission buffer from a memory having a response data area for storing response data for response to the outside in the IC card, the transfer source of the data responds to the response of the memory. If the data transfer source is the response data area of the memory, the data transfer to the transmission buffer is permitted, otherwise the data transfer to the transmission buffer is confirmed. Is supposed to stop.
しかしながら、外部からの攻撃が複数回繰り返し行われる場合、特許文献1の技術では、データの転送元がメモリの応答データエリアであることの確認により送信バッファへのデータ転送が許可された後に、外部からの攻撃が行なわれ、不正にデータが複製される可能性がある。 However, when an attack from the outside is repeatedly performed a plurality of times, in the technique of Patent Document 1, after confirming that the data transfer source is the response data area of the memory, data transfer to the transmission buffer is permitted, and then external There is a possibility that data will be copied illegally.
そこで、本発明は、外部からの攻撃が複数回繰り返し行われる場合であっても、不正にデータが外部に複製されることを防止することが可能なICカード、データ複製制御方法、及びデータ複製制御プログラムを提供することを目的とする。 Therefore, the present invention provides an IC card, a data duplication control method, and data duplication that can prevent illegal duplication of data even when an external attack is repeated a plurality of times. An object is to provide a control program.
上記課題を解決するために、請求項1に記載の発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおいて、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段と、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段と、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断する制御手段と、を備えることを特徴とする。 In order to solve the above problem, an invention according to claim 1 is a controller for executing a predetermined process corresponding to a command received from an external terminal, and outputting to the external terminal based on a result of the process. A memory for storing response data, and after replicating the response data from the memory to the communication buffer, an IC card that outputs the response data copied to the communication buffer to the external terminal. Data replication means for replicating the response data stored at a predetermined address to the communication buffer for each predetermined size; and determination means for determining whether the address of the replication source is valid for each replication of the predetermined size; If the determination means determines that the address of the copy source is not valid, the response data Replication interrupting control means of, characterized in that it comprises a.
請求項2に記載の発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおいて、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段と、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段と、前記データ複製手段により前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力する制御手段と、を備え、前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とする。 According to a second aspect of the present invention, there is provided a controller that executes a predetermined process corresponding to a command received from an external terminal, and a memory that stores response data to be output to the external terminal based on a result of the process. An IC card that outputs the response data copied to the communication buffer to the external terminal after the response data is copied from the memory to the communication buffer, and stored in a predetermined address of the memory A data duplicating unit for duplicating response data to the communication buffer for each predetermined size; a determining unit for determining whether the address of the duplication source is valid for each duplication of the predetermined size; and the response by the data duplicating unit When data replication is complete, the response data copied to the communication buffer Control means for outputting the response data to the external terminal, and when the determination means determines that the address of the copy source is not valid, the control means copies the response data for each predetermined size. And the output of the response data copied to the communication buffer to the external terminal is disabled.
請求項3に記載の発明は、請求項1または2に記載のICカードにおいて、前記レスポンスデータの複製開始前に前記アドレスを示す値を前記メモリに複製するアドレス複製手段を更に備え、前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製されたアドレスを示す値とが一致しているかを判定し、一致していない場合、当該アドレスが正当でないと判定することを特徴とする。 According to a third aspect of the present invention, in the IC card according to the first or second aspect, the IC card further includes an address duplicating unit that duplicates a value indicating the address in the memory before starting the duplication of the response data. Determines whether the value indicating the address from which the response data is copied matches the value indicating the address copied to the memory, and if not, determines that the address is not valid It is characterized by.
請求項4に記載の発明は、請求項1または2に記載のICカードにおいて、前記レスポンスデータの複製開始前に前記アドレスを示す値の反転値を前記メモリに複製するアドレス複製手段を更に備え、前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製された前記反転値との整合性が取れているか確認し、整合性が取れていない場合、当該アドレスが正当でないと判定することを特徴とする。 According to a fourth aspect of the present invention, the IC card according to the first or second aspect further includes an address duplicating unit that duplicates an inverted value of the value indicating the address into the memory before starting the duplication of the response data. The determination unit confirms whether the value indicating the source address of the response data is consistent with the inverted value copied to the memory. If the consistency is not satisfied, the address is valid. It is characterized by determining that it is not.
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載のICカードにおいて、前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータとは異なるダミーデータを前記外部端末へ出力することを特徴とする。 According to a fifth aspect of the present invention, in the IC card according to any one of the first to fourth aspects, when the control unit determines that the address of the copy source is not valid by the determination unit, Dummy data different from the response data is output to the external terminal.
請求項6に記載の発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードの前記コントローラにより行われるデータ複製制御方法であって、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するステップと、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定するステップと、前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断するステップと、を含むことを特徴とする。
The invention described in
請求項7に記載のデータ複製制御プログラムの発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおける前記コントローラを、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段、及び、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断する制御手段として機能させることを特徴とする。 The invention of the data duplication control program according to claim 7 is a controller for executing a predetermined process corresponding to a command received from an external terminal, and response data for outputting to the external terminal based on a result of the process. The controller in an IC card that outputs the response data copied to the communication buffer to the external terminal after replicating the response data from the memory to the communication buffer. Data duplicating means for duplicating the response data stored at a predetermined address to the communication buffer for each predetermined size, determining means for judging whether the address of the duplication source is valid for each duplication of the predetermined size, and When the determination means determines that the address of the copy source is not valid Characterized in that to function as interrupting control means replication of the response data.
請求項8に記載の発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードの前記コントローラにより行われるデータ複製制御方法であって、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するステップと、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定するステップと、前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するステップと、を含み、前記データ複製制御方法は、前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とする。 The invention according to claim 8 includes a controller that executes a predetermined process corresponding to a command received from an external terminal, and a memory that stores response data to be output to the external terminal based on a result of the process. A data replication control method performed by the controller of the IC card that outputs the response data copied to the communication buffer to the external terminal after replicating the response data from the memory to the communication buffer. Replicating the response data stored at a predetermined address in the memory to the communication buffer for each predetermined size, and determining whether the address of the replication source is valid for each replication of the predetermined size And when the response data is copied, it is copied to the communication buffer. Outputting the response data to the external terminal, wherein the data replication control method replicates the response data for each predetermined size even when it is determined that the address of the replication source is not valid. And the output of the response data copied to the communication buffer to the external terminal is disabled.
請求項9に記載のデータ複製制御プログラムの発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおける前記コントローラを、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段、及び、前記データ複製手段により前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力する制御手段として機能させ、前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とする。 The invention of the data replication control program according to claim 9 is a controller for executing a predetermined process corresponding to a command received from an external terminal, and response data for outputting to the external terminal based on a result of the process. The controller in an IC card that outputs the response data copied to the communication buffer to the external terminal after replicating the response data from the memory to the communication buffer. Data duplicating means for duplicating the response data stored at a predetermined address to the communication buffer for each predetermined size, determining means for judging whether the address of the duplication source is valid for each duplication of the predetermined size, and When the response data replication is completed by the data replication means, The control unit functions as a control unit that outputs the response data copied to the communication buffer to the external terminal, and the control unit also includes the determination unit that determines that the address of the copy source is not valid. The replication of the response data for each predetermined size is continued, and output of the response data copied to the communication buffer to the external terminal is disabled.
本発明によれば、メモリの所定のアドレスに記憶されたレスポンスデータを所定サイズ毎に通信用バッファに複製し、当該複製毎に複製元のアドレスが正当であるかを判定して複製元のアドレスが正当でないと判定された場合、レスポンスデータの複製を中断するか、または、レスポンスデータの所定サイズ毎の複製を継続させ通信用バッファに複製されたレスポンスデータの外部端末への出力を不能にするように構成したので、外部からの攻撃が複数回繰り返し行われる場合であっても、不正にデータが外部に複製されることを防止することができる。 According to the present invention, the response data stored at a predetermined address in the memory is copied to the communication buffer for each predetermined size, and the copy source address is determined by determining whether the copy source address is valid for each copy. If it is determined that the response data is not valid, the response data replication is interrupted, or the response data is continuously replicated for each predetermined size, and the response data copied to the communication buffer is disabled from being output to the external terminal. Since it comprised in this way, even if it is a case where the attack from the outside is repeatedly performed several times, it can prevent that data are illegally copied outside.
以下、図面を参照して本発明の実施形態について詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
先ず、図1を参照して、本実施形態に係るICカードについて説明する。図1は、ICカード1の概要構成例を示す図である。なお、ICカード1は、キャッシュカード、クレージットカード、社員カード等として使用される。或いは、ICカード1は、スマートフォンや携帯電話機等に組み込まれる。 First, an IC card according to the present embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating a schematic configuration example of the IC card 1. The IC card 1 is used as a cash card, a credit card, an employee card, or the like. Alternatively, the IC card 1 is incorporated into a smartphone, a mobile phone, or the like.
図1に示すように、ICカード1には、ICチップ1aが搭載されている。ICチップ1aは、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、フラッシュメモリ13、及びI/O回路14を備えて構成される。なお、フラッシュメモリの代わりにEEPROM(Electrically Erasable Programmable Read-Only Memory)であっても構わない。
As shown in FIG. 1, an IC chip 1 a is mounted on the IC card 1. The IC chip 1a includes a CPU (Central Processing Unit) 11, a RAM (Random Access Memory) 12, a
CPU11は、各種プログラムを実行するコントローラであり、本発明のデータ複製制御プログラムにしたがって、外部端末2から受信したコマンドに対応した所定のコマンド処理を実行し、RAM12及びフラッシュメモリ13に対するデータの読み書き処理を行う。外部端末2は、ICカード1との間で接触または非接触で通信を行うためのリーダーライタを備える。外部端末2の例としてはATM、改札機、認証用ゲート等が挙げられる。或いは、ICカード1が携帯端末に搭載される場合、外部端末2には携帯端末の機能を担う制御部が該当する。なお、外部からの攻撃者の外部端末がICカード1の通信相手となる場合もあり、ICカード1は、この場合にも、内部の秘匿したいデータ(本来は出力してはいけないアドレスのデータ)が出力されないように構成される。
The
RAM12は、データを一時的に記憶する揮発性メモリである。RAM12の所定の記憶領域は、通信用バッファとして使用される。通信用バッファに格納されたデータは、I/O回路14を介して外部端末2へ出力されることになる。
The RAM 12 is a volatile memory that temporarily stores data. A predetermined storage area of the RAM 12 is used as a communication buffer. The data stored in the communication buffer is output to the
フラッシュメモリ13は、プログラム(本発明のデータ複製制御プログラムを含む)やデータを格納する不揮発性メモリである。フラッシュメモリ13には、CPU11によるコマンド処理の結果に基づいて外部端末2へ出力するためのレスポンスデータが記憶される。このレスポンスデータは、例えば、ICチップ1a内に保持する値(例えば鍵データ)、またはICチップ1a内で演算した結果の値である。
The
I/O回路14は、外部端末2とのインターフェイスを担う。I/O回路14には、例えばISO/IEC7816によって定められたC1〜C8の8個の端子が設けられている。例えば、C1端子は電源端子、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子は外部端末2とのデータ通信を行う端子である。
The I /
CPU11は、上記コマンド処理において、本発明におけるデータ複製手段として機能することにより、フラッシュメモリ13の所定のアドレスに記憶されたレスポンスデータ(つまり、コマンド処理の結果に基づいて外部端末2へ出力するためのレスポンスデータ)を所定サイズ毎に通信用バッファに複製(コピー)する複製処理を行う。例えばレスポンスデータの先頭から一定長のバイト毎に複数回に亘って通信用バッファに繰り返し複製される。
In the command processing, the
また、CPU11は、本発明における判定手段として機能することにより、レスポンスデータの所定サイズの複製毎に複製元のアドレス(フラッシュメモリ13のアドレス)が正当であるか否かを判定する判定処理を行う。つまり、上記所定サイズ毎の複製が行われる度に複製元のアドレスがチェックされる。このチェック方法としては、アドレス(アドレスを示す値)の二重化(三重化以上でもよい)により検証する方法や、アドレス(アドレスを示す値)の誤り検出符号により検証する方法が挙げられる。
Further, the
アドレスの二重化により検証する方法では、レスポンスデータの所定サイズの複製開始前に、複製元のアドレスを二重化して保持する。つまり、CPU11は、本発明におけるアドレス複製手段として機能することにより、レスポンスデータの複製開始前に複製元のアドレスをメモリ(例えば、RAM12またはフラッシュメモリ13に設けられたスタック)に複製することで保持する。このとき保持される値は、「複製元のアドレス」と「複製元のアドレスと同じ値」である。
In the method of verifying by duplication of addresses, duplication source addresses are duplicated and held before the start of duplication of a predetermined size of response data. In other words, the
図2は、複製元のアドレスsrcが、二重化されたアドレスsrc_dualとして複製される様子を示す概念図である。そして、二重化されたアドレスが、レスポンスデータの所定サイズの複製時に比較(srcとsrc_dualとが比較)され、互いのアドレスが一致する場合、複製元のアドレスが正当であると判定するように構成する。一方、互いのアドレスが一致しない場合、当該アドレスが正当でないと判定される。或いは、このとき保持される値は、「複製元のアドレス」と「複製元のアドレスの反転値」であってもよい。この場合、「複製元のアドレス」と「複製元のアドレスの反転値」との整合性が取れていることが、レスポンスデータの所定サイズの複製時に確認され、整合性が取れている場合、複製元のアドレスが正当であると判定するように構成する。一方、整合性が取れていない場合、当該アドレスが正当でないと判定される。例えば、図2において、srcに複製元のアドレス、Src_dualに複製元のアドレスの反転値が格納されていた場合、srcと、src_dualの反転値が一致する場合、複製元のアドレスが正当であると判定される。このように反転値を保持しておくことにより、セキュリティ性を向上させることはできる。メモリは特性として「攻撃を受けると特定の値に変化しやすい」という場合がある。この場合、元の値をそのまま二重化して保持していた場合、両方へ攻撃されてしまうと両方とも同じ値に変化してしまう。しかし、反転値を保持していた場合では、両方へ攻撃されて同じ値になっても攻撃を検知することが可能になる。 FIG. 2 is a conceptual diagram showing how the source address src is duplicated as a duplicated address src_dual. Then, the duplicated addresses are compared when the response data is copied at a predetermined size (src and src_dual are compared), and when the addresses match each other, it is determined that the duplication source address is valid. . On the other hand, if the addresses do not match, it is determined that the addresses are not valid. Alternatively, the values held at this time may be “replication source address” and “replication value of the replication source address”. In this case, the consistency between the "replication source address" and the "inverted value of the replication source address" is confirmed at the time of duplication of the response data of the specified size. The original address is determined to be valid. On the other hand, if consistency is not achieved, it is determined that the address is not valid. For example, in FIG. 2, when the source address is stored in src and the inverted value of the source address is stored in Src_dual, if the inverted value of src and src_dual match, the source address is valid. Determined. By holding the inversion value in this way, security can be improved. As a characteristic, the memory may be “easy to change to a specific value when attacked”. In this case, if the original value is kept doubled as it is, if both are attacked, both will change to the same value. However, in the case where the inverted value is held, it is possible to detect the attack even if both are attacked and become the same value.
一方、アドレスの誤り検出符号により検証する方法では、レスポンスデータの所定サイズの複製開始前に、複製元のアドレスをCRC(Cyclic Redundancy Check, CRC)演算してCRCの値を保持する。そして、レスポンスデータの所定サイズの複製時に複製元のアドレスをCRC演算することで得られたCRCの値と、所定サイズの複製前に演算され保持されたCRCの値とが比較され、互いのCRCの値が一致する場合、複製元のアドレスが正当であると判定するように構成する。或いは、アドレスの誤り検出符号により検証する別の方法では、レスポンスデータの所定サイズの複製開始前に複製元のアドレスのチェックサムを演算してチェックサムの値を保持する。そして、レスポンスデータの所定サイズの複製時に複製元のアドレスのチェックサムを演算することで得られた値と、所定サイズの複製前に演算され保持されたチェックサムの値とが比較され、互いのチェックサムの値が一致する場合、複製元のアドレスが正当であると判定するように構成する。 On the other hand, in the method of verifying with the error detection code of the address, before starting the replication of the response data of a predetermined size, CRC (Cyclic Redundancy Check, CRC) is performed on the replication source address and the CRC value is held. Then, the CRC value obtained by performing CRC calculation on the original address at the time of duplicating the response data with the predetermined size is compared with the CRC value calculated and held before duplicating the predetermined size. If the values match, the address of the copy source is determined to be valid. Alternatively, in another method of verifying with an error detection code for an address, the checksum value is calculated by calculating the checksum of the copy source address before starting to copy the response data with a predetermined size. Then, the value obtained by calculating the checksum of the copy source address at the time of duplicating the response data with the predetermined size is compared with the checksum value calculated and held before duplicating the predetermined size. If the checksum values match, the copy source address is determined to be valid.
アドレスの二重化により検証する方法とアドレスの誤り検出符号により検証する方法とを比較すると、アドレスの二重化により検証する方法の方が、アドレスの誤り検出符号により検証する方法よりも処理時間を短縮することができる。一方、アドレスの誤り検出符号により検証する方法の方が、アドレスの二重化により検証する方法よりもメモリ容量を抑えることができる。 Comparing the verification method using address duplication with the error detection code of the address, the method of verification using address duplication and the processing time is shorter than the verification method using the error detection code of the address. Can do. On the other hand, the method of verifying with the error detection code of the address can suppress the memory capacity than the method of verifying with the double address.
そして、CPU11は、本発明における制御手段として機能することにより、複製元のアドレスが正当でないと判定されることなく複製が完了した場合に、当該通信用バッファに複製されたレスポンスデータをI/O回路14を介して外部端末2へ出力する。一方、CPU11は、上記複製処理及び判定処理の途中で、複製元のアドレスが正当でないと判定した場合、レスポンスデータの複製処理を中断する(データ複製制御方法1)。或いは、CPU11は、上記複製処理及び判定処理の途中で、複製元のアドレスが正当でないと判定された場合にも、レスポンスデータの所定サイズ毎の複製を継続させ複製完了した後に以降の処理を中断する(データ複製制御方法2)。データ複製制御方法2の場合、CPU11は、通信用バッファに複製されたレスポンスデータの外部端末2への出力を不能にする。
Then, the
次に、図3及び図4を参照して、外部端末2からコマンドを受信したときのCPU11の処理について説明する。図3(A)は、データ複製制御方法1における処理を示すフローチャートであり、図3(B)は、図3(A)に示す処理に対応する疑似コードの一例を示す図である。図4(A)は、データ複製制御方法2における処理を示すフローチャートであり、図4(B)は、図4(A)に示す処理による効果を説明するための図である。なお、図3(A)及び図4(A)は、アドレスの二重化により検証する方法を適用した場合の処理であり、例えばデータの読み出しコマンドを受信した場合に開始される。
Next, the processing of the
先ず、図3(A)に示すデータ複製制御方法1における処理について説明する。図3(A)に示すステップS1では、CPU11は、上述したように、複製元のアドレスを二重化して保持する。次いで、CPU11は、複製処理を開始し(ステップS2)、レスポンスデータの複製元のアドレスが正当であるか否かを判定する(ステップS3)。例えば、CPU11は、レスポンスデータの複製元のアドレスと、ステップS1で保持されたアドレスとが一致しているかを判定し、一致している場合、当該アドレスが正当であると判定する(ステップS3:YES)。このようにアドレスが正当であると判定された場合、CPU11は、レスポンスデータの一定長を通信用バッファに複製(言い換えれば、通信用バッファに転送)する(ステップS4)。
First, processing in the data replication control method 1 shown in FIG. In step S1 shown in FIG. 3A, the
次いで、CPU11は、レスポンスデータの複製が完了したか否かを判定する(ステップS5)。そして、レスポンスデータの複製が完了していない場合(ステップS5:NO)、CPU11は、ステップS2に戻り、レスポンスデータの一定長毎の複製処理を継続する。一方、レスポンスデータの複製が完了した場合(ステップS5:YES)、CPU11は、通信用バッファに複製されたレスポンスデータをI/O回路14を介して外部端末2へ出力する(ステップS6)。
Next, the
一方、ステップS3において、レスポンスデータの複製元のアドレスと、ステップS1で保持されたアドレスとが一致していない場合、CPU11は、当該アドレスが正当でないと判定(異常検知)し(ステップS3:NO)、レスポンスデータの複製を中断して動作停止(システム停止)する(ステップS7)。つまり、上記アドレスが一致しないことにより異常が検知された場合、外部からの攻撃があったものとみなし、複製処理が中断される。なお、ステップS7において、CPU11は、外部端末2へエラーを応答してもよい。また、ステップS7において、CPU11は、レスポンスデータとは異なるダミーデータ(固定値または乱数)を外部(例えば、攻撃者の外部端末)へ出力するように構成すれば、当該攻撃者に対して、出力されたデータが内部の秘匿したいデータであるか否かを絞らせないようにすることができる。
On the other hand, when the response data replication source address does not match the address held in step S1 in step S3, the
以上説明したように、上記データ複製制御方法1によれば、CPU11は、レスポンスデータを所定サイズ毎に通信用バッファに複製する複製処理を行い、所定サイズの複製毎に複製元のアドレスが正当であるかを判定し、当該複製処理の途中で複製元のアドレスが正当でないと判定した場合、当該複製処理を中断するように構成したので、外部からの攻撃が複数回繰り返し行われる場合であっても、内部の秘匿したいデータが外部へ出力されることを防止(データが不正に外部に複製されることを防止)することができる。
As described above, according to the data duplication control method 1, the
次に、図4(A)に示すデータ複製制御方法2における処理について説明する。データ複製制御方法2における処理の前提として、異常が検知されたことを記録する領域(以下、「異常検知フラグ」という)が用意される。図4(A)に示すステップS11では、図3(A)に示すステップS1と同様、CPU11は、複製元のアドレスを二重化して保持する。次いで、CPU11は、異常検知フラグをオフに(つまり、リセット)する(ステップS12)。次いで、CPU11は、複製処理を開始し(ステップS13)、図3(A)に示すステップS3と同様、レスポンスデータの複製元のアドレスが正当であるか否かを判定する(ステップS14)。そして、上記アドレスが正当であると判定された場合(ステップS14:YES)、図3(A)に示すステップS4と同様、CPU11は、レスポンスデータの一定長を通信用バッファに複製する(ステップS15)。一方、上記アドレスが正当でないと判定(異常検知)された場合(ステップS14:NO)、CPU11は、異常検知フラグをオンに(例えば、異常が検知されたことを記録する領域のデータ“0”を“1”に更新)し(ステップS16)、レスポンスデータの一定長を通信用バッファに複製する(ステップS15)。つまり、CPU11は、複製処理の途中で異常が検知された場合、外部からの攻撃があったものとみなし、異常検知フラグをオンするが、複製処理は継続して実行する。
Next, processing in the data
次いで、CPU11は、レスポンスデータの複製が完了したか否かを判定し(ステップS17)、レスポンスデータの複製が完了していない場合(ステップS17:NO)、ステップS13に戻り、レスポンスデータの一定長毎の複製処理を継続する。一方、レスポンスデータの複製が完了した場合(ステップS17:YES)、CPU11は、異常検知フラグがオンであるか否かを判定する(ステップS18)。そして、異常検知フラグがオンでないと判定された場合(ステップS18:NO)、CPU11は、通信用バッファに複製されたレスポンスデータをI/O回路14を介して外部端末2へ出力する(ステップS19)。一方、異常検知フラグがオンであると判定された場合(ステップS18:YES)、動作停止する(ステップS20)。つまり、データ複製制御方法2では、CPU11は、全ての複製処理が完了した後、異常検知フラグを確認し、オフの場合はそのまま処理を継続してレスポンスデータの出力し、オンになっていた場合は以降の処理を中断することで通信用バッファに複製されたレスポンスデータの外部端末2への出力を不能にする。なお、ステップS20において、CPU11は、外部端末2へエラーを応答してもよい。また、ステップS20において、CPU11は、ステップS7と同様、レスポンスデータとは異なるダミーデータ(固定値または乱数)を外部(例えば、攻撃者の外部端末)へ出力するように構成してもよい。
Next, the
以上説明したように、上記データ複製制御方法2によれば、CPU11は、レスポンスデータを所定サイズ毎に通信用バッファに複製する複製処理を行い、所定サイズの複製毎に複製元のアドレスが正当であるかを判定し、当該複製処理の途中で複製元のアドレスが正当でないと判定した場合、当該複製処理を継続して複製完了した後に以降の処理を中断することで通信用バッファに複製されたレスポンスデータの外部端末2への出力を不能にするように構成したので、外部からの攻撃が複数回繰り返し行われる場合であっても、内部の秘匿したいデータが外部へ出力されることを防止することができる。更に、上記データ複製制御方法2によれば、複製処理の途中で複製元のアドレスが正当でないと判定された場合であっても当該複製処理を継続して複製完了した後に以降の処理を中断するように構成したので、どのタイミングで異常が検知されたかを攻撃者に観測(把握)させないようにすることができる。つまり、図4(B)に示すように、所定サイズ毎の複製が、1回目から4回目まであったと仮定した場合において、複製2回目で攻撃があったとすると、その攻撃タイミングでは複製が中断されず、複製4回目まで完了した後に動作停止するので、攻撃者は攻撃タイミングが間違っていないかどうかを判断することができない。
As described above, according to the data
1 ICカード
1a ICチップ
11 CPU
12 RAM
13 フラッシュメモリ
14 I/O回路
1 IC card
12 RAM
13 Flash memory 14 I / O circuit
Claims (9)
前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段と、
前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段と、
前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断する制御手段と、
を備えることを特徴とするICカード。 A controller that executes a predetermined process corresponding to a command received from an external terminal; and a memory that stores response data to be output to the external terminal based on a result of the process; After copying to the communication buffer, in the IC card that outputs the response data copied to the communication buffer to the external terminal,
Data replication means for replicating the response data stored at a predetermined address of the memory to the communication buffer for each predetermined size;
Determining means for determining whether the address of the copy source is valid for each copy of the predetermined size;
Control means for interrupting replication of the response data when the determination means determines that the address of the copy source is not valid;
An IC card comprising:
前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段と、
前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段と、
前記データ複製手段により前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力する制御手段と、
を備え、
前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とするICカード。 A controller that executes a predetermined process corresponding to a command received from an external terminal; and a memory that stores response data to be output to the external terminal based on a result of the process; After copying to the communication buffer, in the IC card that outputs the response data copied to the communication buffer to the external terminal,
Data replication means for replicating the response data stored at a predetermined address of the memory to the communication buffer for each predetermined size;
Determining means for determining whether the address of the copy source is valid for each copy of the predetermined size;
Control means for outputting the response data copied to the communication buffer to the external terminal when the response data is copied by the data copying means;
With
The control means continues the replication of the response data for each predetermined size even when the determination means determines that the address of the copy source is not valid, and the response copied to the communication buffer. An IC card that disables output of data to the external terminal.
前記レスポンスデータの複製開始前に前記アドレスを示す値を前記メモリに複製するアドレス複製手段を更に備え、
前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製されたアドレスを示す値とが一致しているかを判定し、一致していない場合、当該アドレスが正当でないと判定することを特徴とするICカード。 In the IC card according to claim 1 or 2,
Further comprising address duplicating means for duplicating the value indicating the address in the memory before starting the duplication of the response data;
The determination means determines whether a value indicating the address from which the response data is copied matches a value indicating the address copied to the memory, and if not, the address is not valid. An IC card characterized by determining.
前記レスポンスデータの複製開始前に前記アドレスを示す値の反転値を前記メモリに複製するアドレス複製手段を更に備え、
前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製された前記反転値との整合性が取れているか確認し、整合性が取れていない場合、当該アドレスが正当でないと判定することを特徴とするICカード。 In the IC card according to claim 1 or 2,
An address duplicating unit for duplicating the inverted value of the value indicating the address in the memory before starting the duplication of the response data;
The determination unit confirms whether the value indicating the source address of the response data is consistent with the inverted value copied to the memory. If the consistency is not satisfied, the address is valid. IC card characterized by not being determined.
前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータとは異なるダミーデータを前記外部端末へ出力することを特徴とするICカード。 The IC card according to any one of claims 1 to 4,
The IC card, wherein the control unit outputs dummy data different from the response data to the external terminal when the determination unit determines that the address of the copy source is not valid.
前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するステップと、
前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定するステップと、
前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断するステップと、
を含むことを特徴とするデータ複製制御方法。 A controller that executes a predetermined process corresponding to a command received from an external terminal; and a memory that stores response data to be output to the external terminal based on a result of the process; A data replication control method performed by the controller of the IC card that outputs the response data replicated in the communication buffer to the external terminal after being replicated in the communication buffer,
Replicating the response data stored in a predetermined address of the memory to the communication buffer for each predetermined size;
Determining whether the address of the copy source is valid for each copy of the predetermined size;
If it is determined that the address of the replication source is not valid, the step of interrupting the replication of the response data;
A data duplication control method comprising:
前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段、
前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段、及び、
前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断する制御手段として機能させることを特徴とするデータ複製制御プログラム。 A controller that executes a predetermined process corresponding to a command received from an external terminal; and a memory that stores response data to be output to the external terminal based on a result of the process; After copying to the communication buffer, the controller in the IC card that outputs the response data copied to the communication buffer to the external terminal,
Data replication means for replicating the response data stored at a predetermined address of the memory to the communication buffer for each predetermined size;
A determination means for determining whether the address of the copy source is valid for each copy of the predetermined size; and
A data replication control program that functions as a control unit that interrupts replication of the response data when the determination unit determines that the address of the replication source is not valid.
前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するステップと、
前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定するステップと、
前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するステップと、
を含み、
前記データ複製制御方法は、前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とするデータ複製制御方法。 A controller that executes a predetermined process corresponding to a command received from an external terminal; and a memory that stores response data to be output to the external terminal based on a result of the process; A data replication control method performed by the controller of the IC card that outputs the response data replicated in the communication buffer to the external terminal after being replicated in the communication buffer,
Replicating the response data stored in a predetermined address of the memory to the communication buffer for each predetermined size;
Determining whether the address of the copy source is valid for each copy of the predetermined size;
When copying of the response data is completed, outputting the response data copied to the communication buffer to the external terminal;
Including
The data replication control method continues the replication of the response data for each predetermined size even when it is determined that the address of the replication source is not valid, and the response data copied to the communication buffer A data replication control method, wherein output to the external terminal is disabled.
前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段、
前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段、及び、
前記データ複製手段により前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力する制御手段として機能させ、
前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とするデータ複製制御プログラム。 A controller that executes a predetermined process corresponding to a command received from an external terminal; and a memory that stores response data to be output to the external terminal based on a result of the process; After copying to the communication buffer, the controller in the IC card that outputs the response data copied to the communication buffer to the external terminal,
Data replication means for replicating the response data stored at a predetermined address of the memory to the communication buffer for each predetermined size;
A determination means for determining whether the address of the copy source is valid for each copy of the predetermined size; and
When replication of the response data is completed by the data replication unit, the response data copied to the communication buffer is made to function as a control unit that outputs to the external terminal,
The control means continues the replication of the response data for each predetermined size even when the determination means determines that the address of the copy source is not valid, and the response copied to the communication buffer. A data duplication control program that disables output of data to the external terminal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012281455A JP6031997B2 (en) | 2012-12-25 | 2012-12-25 | IC card, data replication control method, and data replication control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012281455A JP6031997B2 (en) | 2012-12-25 | 2012-12-25 | IC card, data replication control method, and data replication control program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014126935A true JP2014126935A (en) | 2014-07-07 |
JP6031997B2 JP6031997B2 (en) | 2016-11-24 |
Family
ID=51406403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012281455A Active JP6031997B2 (en) | 2012-12-25 | 2012-12-25 | IC card, data replication control method, and data replication control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6031997B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0778126A (en) * | 1993-09-08 | 1995-03-20 | Kyodo Printing Co Ltd | Microcomputer for ic card |
JP2006172005A (en) * | 2004-12-14 | 2006-06-29 | Toshiba Corp | Portable electronic instrument |
JP2010033121A (en) * | 2008-07-25 | 2010-02-12 | Rohm Co Ltd | Storage device |
JP2011150495A (en) * | 2010-01-21 | 2011-08-04 | Rohm Co Ltd | Storage device |
-
2012
- 2012-12-25 JP JP2012281455A patent/JP6031997B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0778126A (en) * | 1993-09-08 | 1995-03-20 | Kyodo Printing Co Ltd | Microcomputer for ic card |
JP2006172005A (en) * | 2004-12-14 | 2006-06-29 | Toshiba Corp | Portable electronic instrument |
JP2010033121A (en) * | 2008-07-25 | 2010-02-12 | Rohm Co Ltd | Storage device |
JP2011150495A (en) * | 2010-01-21 | 2011-08-04 | Rohm Co Ltd | Storage device |
Also Published As
Publication number | Publication date |
---|---|
JP6031997B2 (en) | 2016-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10509568B2 (en) | Efficient secure boot carried out in information processing apparatus | |
JP4980064B2 (en) | Method for differentially updating data stored in portable terminal from first data version to updated data version, portable terminal and computer program | |
CN100489805C (en) | Autonomous memory checker for runtime security assurance and method therefore | |
US9262631B2 (en) | Embedded device and control method thereof | |
US20080215955A1 (en) | Semiconductor storage device | |
US8738919B2 (en) | Control of the integrity of a memory external to a microprocessor | |
CN118051919B (en) | Data processing method, chip, electronic device and storage medium | |
JP2009530697A (en) | Auto-configurable smart card and smart card auto-configuration method | |
JP6622360B2 (en) | Information processing device | |
US9652232B2 (en) | Data processing arrangement and method for data processing | |
JP6031997B2 (en) | IC card, data replication control method, and data replication control program | |
CN115454517B (en) | Method, system, storage medium, device and chip for multi-medium secure boot | |
KR20210134053A (en) | How to Validate Over-the-Air Updates | |
JP2008542941A (en) | ITSOVC2 application monitor | |
JP6182940B2 (en) | IC card, status word output method, and status word output processing program | |
CN103105783A (en) | Embedded device and control method thereof | |
CN106484477B (en) | The software download and starting method of safety | |
US7916549B2 (en) | Memory self-test circuit, semiconductor device and IC card including the same, and memory self-test method | |
JP2000322535A (en) | Information processing method and system for ic card | |
JP2008204085A (en) | Semiconductor memory | |
US20230274002A1 (en) | Firmware authenticity check | |
JP5949357B2 (en) | Security token, data falsification detection method, and computer program | |
JP2007206765A (en) | Method of issuing ic card, ic card issuing system, and ic card | |
JP5200686B2 (en) | Information processing apparatus, normal processing determination method, and information processing program | |
EP2877957B1 (en) | Method and device for protecting against fault attack(s) an electronic device using a cache memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20151029 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160705 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160829 |
|
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: 20160927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161010 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6031997 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |