JP6031997B2 - Icカード、データ複製制御方法及びデータ複製制御プログラム - Google Patents

Icカード、データ複製制御方法及びデータ複製制御プログラム Download PDF

Info

Publication number
JP6031997B2
JP6031997B2 JP2012281455A JP2012281455A JP6031997B2 JP 6031997 B2 JP6031997 B2 JP 6031997B2 JP 2012281455 A JP2012281455 A JP 2012281455A JP 2012281455 A JP2012281455 A JP 2012281455A JP 6031997 B2 JP6031997 B2 JP 6031997B2
Authority
JP
Japan
Prior art keywords
address
response data
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.)
Active
Application number
JP2012281455A
Other languages
English (en)
Other versions
JP2014126935A (ja
Inventor
孝彦 稲村
孝彦 稲村
哲夫 神力
哲夫 神力
正剛 福永
正剛 福永
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2012281455A priority Critical patent/JP6031997B2/ja
Publication of JP2014126935A publication Critical patent/JP2014126935A/ja
Application granted granted Critical
Publication of JP6031997B2 publication Critical patent/JP6031997B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Credit Cards Or The Like (AREA)

Description

本発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードの技術に関する。
セキュリティ性が重要視されるICカードでは、外部からの攻撃などによる不正動作に対する防止手段を備えていなければならない。外部からの攻撃とは、故障解析と呼ばれるICカードに搭載されたICチップに誤動作を起こさせるための手段であり、代表的なものとしてDFA(Differential Fault Analysis)が挙げられる。
ICカードは、外部端末との通信に接触I/Fや非接触I/Fを利用する。外部端末から送信されたコマンドをそれらのI/Fにて受信し、解釈、実行した後、レスポンスデータを応答する。このレスポンスデータは、ICカード内に保持する値であったり、カード内で演算した結果の値であったりするが、これらのデータをICカードから外部端末へと返送する際、ICカードは当該データを通信用のバッファへと複製(コピー)し、そこからレスポンスデータとして外部端末へ返送する。この時、通信用バッファへの複製時に外部から攻撃を受けると、誤ったアドレスのデータが通信用のバッファへと複製されることになり、本来は出力してはいけないアドレスのデータが出力されてしまう恐れがある。
特許文献1には、外部から不正な攻撃が行なわれた場合に、内部の秘匿したいデータ等を外部へ応答することを防止する技術が開示されている。特許文献1の技術では、ICカードにおいて外部へ応答するための応答データを記憶する応答データエリアを持つメモリから送信バッファに対してデータを転送する前に、当該データの転送元が当該メモリの応答データエリアであることを確認し、この確認の結果、当該データの転送元が当該メモリの応答データエリアである場合は送信バッファへのデータ転送を許可し、そうでない場合は送信バッファへのデータ転送を停止するようになっている。
特許第4713878号
しかしながら、外部からの攻撃が複数回繰り返し行われる場合、特許文献1の技術では、データの転送元がメモリの応答データエリアであることの確認により送信バッファへのデータ転送が許可された後に、外部からの攻撃が行なわれ、不正にデータが複製される可能性がある。
そこで、本発明は、外部からの攻撃が複数回繰り返し行われる場合であっても、不正にデータが外部に複製されることを防止することが可能なICカード、データ複製制御方法、及びデータ複製制御プログラムを提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおいて、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段と、前記レスポンスデータの複製開始前に前記アドレスを示す値の反転値を前記メモリに複製するアドレス複製手段と、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段と、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断する制御手段と、を備え、前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製された前記反転値との整合性が取れているか確認し、整合性が取れていない場合、当該アドレスが正当でないと判定することを特徴とする。
請求項2に記載の発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおいて、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段と、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段と、前記データ複製手段により前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力する制御手段と、を備え、前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とする。
請求項3に記載の発明は、請求項に記載のICカードにおいて、前記レスポンスデータの複製開始前に前記アドレスを示す値を前記メモリに複製するアドレス複製手段を更に備え、前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製されたアドレスを示す値とが一致しているかを判定し、一致していない場合、当該アドレスが正当でないと判定することを特徴とする。
請求項4に記載の発明は、請求項に記載のICカードにおいて、前記レスポンスデータの複製開始前に前記アドレスを示す値の反転値を前記メモリに複製するアドレス複製手段を更に備え、前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製された前記反転値との整合性が取れているか確認し、整合性が取れていない場合、当該アドレスが正当でないと判定することを特徴とする。
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載のICカードにおいて、前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータとは異なるダミーデータを前記外部端末へ出力することを特徴とする。
請求項6に記載の発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードの前記コントローラにより行われるデータ複製制御方法であって、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するステップと、前記レスポンスデータの複製開始前に前記アドレスを示す値の反転値を前記メモリに複製するステップと、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定するステップと、前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断するステップと、を含み、前記アドレスが正当であるかを判定するステップでは、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製された前記反転値との整合性が取れているか確認し、整合性が取れていない場合、当該アドレスが正当でないと判定することを特徴とする。
請求項7に記載のデータ複製制御プログラムの発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおける前記コントローラを、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段、前記レスポンスデータの複製開始前に前記アドレスを示す値の反転値を前記メモリに複製するアドレス複製手段、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段、及び、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断する制御手段として機能させるデータ複製制御プログラムであって前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製された前記反転値との整合性が取れているか確認し、整合性が取れていない場合、当該アドレスが正当でないと判定することを特徴とする。
請求項8に記載の発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードの前記コントローラにより行われるデータ複製制御方法であって、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するステップと、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定するステップと、前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するステップと、を含み、前記データ複製制御方法は、前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とする。
請求項9に記載のデータ複製制御プログラムの発明は、外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおける前記コントローラを、前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段、前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段、及び、前記データ複製手段により前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力する制御手段として機能させ、前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とする。
本発明によれば、メモリの所定のアドレスに記憶されたレスポンスデータを所定サイズ毎に通信用バッファに複製し、当該複製毎に複製元のアドレスが正当であるかを判定して複製元のアドレスが正当でないと判定された場合(レスポンスデータの複製元のアドレスを示す値と、レスポンスデータの複製開始前にメモリに複製された当該アドレスを示す値の反転値との整合性が取れているか確認し、整合性が取れていない場合、当該アドレスが正当でないと判定する)、レスポンスデータの複製を中断するか、または、レスポンスデータの所定サイズ毎の複製を継続させ通信用バッファに複製されたレスポンスデータの外部端末への出力を不能にするように構成したので、外部からの攻撃が複数回繰り返し行われる場合であっても、不正にデータが外部に複製されることを防止することができる。
ICカード1の概要構成例を示す図である。 複製元のアドレスsrcが、二重化されたアドレスsrc_dualとして複製される様子を示す概念図である。 (A)は、データ複製制御方法1における処理を示すフローチャートであり、(B)は、(A)に示す処理に対応する疑似コードの一例を示す図である。 (A)は、データ複製制御方法2における処理を示すフローチャートであり、(B)は、(A)に示す処理による効果を説明するための図である。
以下、図面を参照して本発明の実施形態について詳細に説明する。
先ず、図1を参照して、本実施形態に係るICカードについて説明する。図1は、ICカード1の概要構成例を示す図である。なお、ICカード1は、キャッシュカード、クレージットカード、社員カード等として使用される。或いは、ICカード1は、スマートフォンや携帯電話機等に組み込まれる。
図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)であっても構わない。
CPU11は、各種プログラムを実行するコントローラであり、本発明のデータ複製制御プログラムにしたがって、外部端末2から受信したコマンドに対応した所定のコマンド処理を実行し、RAM12及びフラッシュメモリ13に対するデータの読み書き処理を行う。外部端末2は、ICカード1との間で接触または非接触で通信を行うためのリーダーライタを備える。外部端末2の例としてはATM、改札機、認証用ゲート等が挙げられる。或いは、ICカード1が携帯端末に搭載される場合、外部端末2には携帯端末の機能を担う制御部が該当する。なお、外部からの攻撃者の外部端末がICカード1の通信相手となる場合もあり、ICカード1は、この場合にも、内部の秘匿したいデータ(本来は出力してはいけないアドレスのデータ)が出力されないように構成される。
RAM12は、データを一時的に記憶する揮発性メモリである。RAM12の所定の記憶領域は、通信用バッファとして使用される。通信用バッファに格納されたデータは、I/O回路14を介して外部端末2へ出力されることになる。
フラッシュメモリ13は、プログラム(本発明のデータ複製制御プログラムを含む)やデータを格納する不揮発性メモリである。フラッシュメモリ13には、CPU11によるコマンド処理の結果に基づいて外部端末2へ出力するためのレスポンスデータが記憶される。このレスポンスデータは、例えば、ICチップ1a内に保持する値(例えば鍵データ)、またはICチップ1a内で演算した結果の値である。
I/O回路14は、外部端末2とのインターフェイスを担う。I/O回路14には、例えばISO/IEC7816によって定められたC1〜C8の8個の端子が設けられている。例えば、C1端子は電源端子、C2端子はリセット端子、C3端子はクロック端子、C5端子はグランド端子、C7端子は外部端末2とのデータ通信を行う端子である。
CPU11は、上記コマンド処理において、本発明におけるデータ複製手段として機能することにより、フラッシュメモリ13の所定のアドレスに記憶されたレスポンスデータ(つまり、コマンド処理の結果に基づいて外部端末2へ出力するためのレスポンスデータ)を所定サイズ毎に通信用バッファに複製(コピー)する複製処理を行う。例えばレスポンスデータの先頭から一定長のバイト毎に複数回に亘って通信用バッファに繰り返し複製される。
また、CPU11は、本発明における判定手段として機能することにより、レスポンスデータの所定サイズの複製毎に複製元のアドレス(フラッシュメモリ13のアドレス)が正当であるか否かを判定する判定処理を行う。つまり、上記所定サイズ毎の複製が行われる度に複製元のアドレスがチェックされる。このチェック方法としては、アドレス(アドレスを示す値)の二重化(三重化以上でもよい)により検証する方法や、アドレス(アドレスを示す値)の誤り検出符号により検証する方法が挙げられる。
アドレスの二重化により検証する方法では、レスポンスデータの所定サイズの複製開始前に、複製元のアドレスを二重化して保持する。つまり、CPU11は、本発明におけるアドレス複製手段として機能することにより、レスポンスデータの複製開始前に複製元のアドレスをメモリ(例えば、RAM12またはフラッシュメモリ13に設けられたスタック)に複製することで保持する。このとき保持される値は、「複製元のアドレス」と「複製元のアドレスと同じ値」である。
図2は、複製元のアドレスsrcが、二重化されたアドレスsrc_dualとして複製される様子を示す概念図である。そして、二重化されたアドレスが、レスポンスデータの所定サイズの複製時に比較(srcとsrc_dualとが比較)され、互いのアドレスが一致する場合、複製元のアドレスが正当であると判定するように構成する。一方、互いのアドレスが一致しない場合、当該アドレスが正当でないと判定される。或いは、このとき保持される値は、「複製元のアドレス」と「複製元のアドレスの反転値」であってもよい。この場合、「複製元のアドレス」と「複製元のアドレスの反転値」との整合性が取れていることが、レスポンスデータの所定サイズの複製時に確認され、整合性が取れている場合、複製元のアドレスが正当であると判定するように構成する。一方、整合性が取れていない場合、当該アドレスが正当でないと判定される。例えば、図2において、srcに複製元のアドレス、Src_dualに複製元のアドレスの反転値が格納されていた場合、srcと、src_dualの反転値が一致する場合、複製元のアドレスが正当であると判定される。このように反転値を保持しておくことにより、セキュリティ性を向上させることはできる。メモリは特性として「攻撃を受けると特定の値に変化しやすい」という場合がある。この場合、元の値をそのまま二重化して保持していた場合、両方へ攻撃されてしまうと両方とも同じ値に変化してしまう。しかし、反転値を保持していた場合では、両方へ攻撃されて同じ値になっても攻撃を検知することが可能になる。
一方、アドレスの誤り検出符号により検証する方法では、レスポンスデータの所定サイズの複製開始前に、複製元のアドレスをCRC(Cyclic Redundancy Check, CRC)演算してCRCの値を保持する。そして、レスポンスデータの所定サイズの複製時に複製元のアドレスをCRC演算することで得られたCRCの値と、所定サイズの複製前に演算され保持されたCRCの値とが比較され、互いのCRCの値が一致する場合、複製元のアドレスが正当であると判定するように構成する。或いは、アドレスの誤り検出符号により検証する別の方法では、レスポンスデータの所定サイズの複製開始前に複製元のアドレスのチェックサムを演算してチェックサムの値を保持する。そして、レスポンスデータの所定サイズの複製時に複製元のアドレスのチェックサムを演算することで得られた値と、所定サイズの複製前に演算され保持されたチェックサムの値とが比較され、互いのチェックサムの値が一致する場合、複製元のアドレスが正当であると判定するように構成する。
アドレスの二重化により検証する方法とアドレスの誤り検出符号により検証する方法とを比較すると、アドレスの二重化により検証する方法の方が、アドレスの誤り検出符号により検証する方法よりも処理時間を短縮することができる。一方、アドレスの誤り検出符号により検証する方法の方が、アドレスの二重化により検証する方法よりもメモリ容量を抑えることができる。
そして、CPU11は、本発明における制御手段として機能することにより、複製元のアドレスが正当でないと判定されることなく複製が完了した場合に、当該通信用バッファに複製されたレスポンスデータをI/O回路14を介して外部端末2へ出力する。一方、CPU11は、上記複製処理及び判定処理の途中で、複製元のアドレスが正当でないと判定した場合、レスポンスデータの複製処理を中断する(データ複製制御方法1)。或いは、CPU11は、上記複製処理及び判定処理の途中で、複製元のアドレスが正当でないと判定された場合にも、レスポンスデータの所定サイズ毎の複製を継続させ複製完了した後に以降の処理を中断する(データ複製制御方法2)。データ複製制御方法2の場合、CPU11は、通信用バッファに複製されたレスポンスデータの外部端末2への出力を不能にする。
次に、図3及び図4を参照して、外部端末2からコマンドを受信したときのCPU11の処理について説明する。図3(A)は、データ複製制御方法1における処理を示すフローチャートであり、図3(B)は、図3(A)に示す処理に対応する疑似コードの一例を示す図である。図4(A)は、データ複製制御方法2における処理を示すフローチャートであり、図4(B)は、図4(A)に示す処理による効果を説明するための図である。なお、図3(A)及び図4(A)は、アドレスの二重化により検証する方法を適用した場合の処理であり、例えばデータの読み出しコマンドを受信した場合に開始される。
先ず、図3(A)に示すデータ複製制御方法1における処理について説明する。図3(A)に示すステップS1では、CPU11は、上述したように、複製元のアドレスを二重化して保持する。次いで、CPU11は、複製処理を開始し(ステップS2)、レスポンスデータの複製元のアドレスが正当であるか否かを判定する(ステップS3)。例えば、CPU11は、レスポンスデータの複製元のアドレスと、ステップS1で保持されたアドレスとが一致しているかを判定し、一致している場合、当該アドレスが正当であると判定する(ステップS3:YES)。このようにアドレスが正当であると判定された場合、CPU11は、レスポンスデータの一定長を通信用バッファに複製(言い換えれば、通信用バッファに転送)する(ステップS4)。
次いで、CPU11は、レスポンスデータの複製が完了したか否かを判定する(ステップS5)。そして、レスポンスデータの複製が完了していない場合(ステップS5:NO)、CPU11は、ステップS2に戻り、レスポンスデータの一定長毎の複製処理を継続する。一方、レスポンスデータの複製が完了した場合(ステップS5:YES)、CPU11は、通信用バッファに複製されたレスポンスデータをI/O回路14を介して外部端末2へ出力する(ステップS6)。
一方、ステップS3において、レスポンスデータの複製元のアドレスと、ステップS1で保持されたアドレスとが一致していない場合、CPU11は、当該アドレスが正当でないと判定(異常検知)し(ステップS3:NO)、レスポンスデータの複製を中断して動作停止(システム停止)する(ステップS7)。つまり、上記アドレスが一致しないことにより異常が検知された場合、外部からの攻撃があったものとみなし、複製処理が中断される。なお、ステップS7において、CPU11は、外部端末2へエラーを応答してもよい。また、ステップS7において、CPU11は、レスポンスデータとは異なるダミーデータ(固定値または乱数)を外部(例えば、攻撃者の外部端末)へ出力するように構成すれば、当該攻撃者に対して、出力されたデータが内部の秘匿したいデータであるか否かを絞らせないようにすることができる。
以上説明したように、上記データ複製制御方法1によれば、CPU11は、レスポンスデータを所定サイズ毎に通信用バッファに複製する複製処理を行い、所定サイズの複製毎に複製元のアドレスが正当であるかを判定し、当該複製処理の途中で複製元のアドレスが正当でないと判定した場合、当該複製処理を中断するように構成したので、外部からの攻撃が複数回繰り返し行われる場合であっても、内部の秘匿したいデータが外部へ出力されることを防止(データが不正に外部に複製されることを防止)することができる。
次に、図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は、複製処理の途中で異常が検知された場合、外部からの攻撃があったものとみなし、異常検知フラグをオンするが、複製処理は継続して実行する。
次いで、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と同様、レスポンスデータとは異なるダミーデータ(固定値または乱数)を外部(例えば、攻撃者の外部端末)へ出力するように構成してもよい。
以上説明したように、上記データ複製制御方法2によれば、CPU11は、レスポンスデータを所定サイズ毎に通信用バッファに複製する複製処理を行い、所定サイズの複製毎に複製元のアドレスが正当であるかを判定し、当該複製処理の途中で複製元のアドレスが正当でないと判定した場合、当該複製処理を継続して複製完了した後に以降の処理を中断することで通信用バッファに複製されたレスポンスデータの外部端末2への出力を不能にするように構成したので、外部からの攻撃が複数回繰り返し行われる場合であっても、内部の秘匿したいデータが外部へ出力されることを防止することができる。更に、上記データ複製制御方法2によれば、複製処理の途中で複製元のアドレスが正当でないと判定された場合であっても当該複製処理を継続して複製完了した後に以降の処理を中断するように構成したので、どのタイミングで異常が検知されたかを攻撃者に観測(把握)させないようにすることができる。つまり、図4(B)に示すように、所定サイズ毎の複製が、1回目から4回目まであったと仮定した場合において、複製2回目で攻撃があったとすると、その攻撃タイミングでは複製が中断されず、複製4回目まで完了した後に動作停止するので、攻撃者は攻撃タイミングが間違っていないかどうかを判断することができない。
1 ICカード
1a ICチップ
11 CPU
12 RAM
13 フラッシュメモリ
14 I/O回路

Claims (9)

  1. 外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおいて、
    前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段と、
    前記レスポンスデータの複製開始前に前記アドレスを示す値の反転値を前記メモリに複製するアドレス複製手段と、
    前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段と、
    前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断する制御手段と、
    を備え
    前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製された前記反転値との整合性が取れているか確認し、整合性が取れていない場合、当該アドレスが正当でないと判定することを特徴とするICカード。
  2. 外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおいて、
    前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段と、
    前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段と、
    前記データ複製手段により前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力する制御手段と、
    を備え、
    前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とするICカード。
  3. 請求項に記載のICカードにおいて、
    前記レスポンスデータの複製開始前に前記アドレスを示す値を前記メモリに複製するアドレス複製手段を更に備え、
    前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製されたアドレスを示す値とが一致しているかを判定し、一致していない場合、当該アドレスが正当でないと判定することを特徴とするICカード。
  4. 請求項に記載のICカードにおいて、
    前記レスポンスデータの複製開始前に前記アドレスを示す値の反転値を前記メモリに複製するアドレス複製手段を更に備え、
    前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製された前記反転値との整合性が取れているか確認し、整合性が取れていない場合、当該アドレスが正当でないと判定することを特徴とするICカード。
  5. 請求項1乃至4の何れか一項に記載のICカードにおいて、
    前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータとは異なるダミーデータを前記外部端末へ出力することを特徴とするICカード。
  6. 外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードの前記コントローラにより行われるデータ複製制御方法であって、
    前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するステップと、
    前記レスポンスデータの複製開始前に前記アドレスを示す値の反転値を前記メモリに複製するステップと、
    前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定するステップと、
    前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断するステップと、
    を含み、
    前記アドレスが正当であるかを判定するステップでは、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製された前記反転値との整合性が取れているか確認し、整合性が取れていない場合、当該アドレスが正当でないと判定することを特徴とするデータ複製制御方法。
  7. 外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおける前記コントローラを、
    前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段、
    前記レスポンスデータの複製開始前に前記アドレスを示す値の反転値を前記メモリに複製するアドレス複製手段、
    前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段、及び、
    前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合、前記レスポンスデータの複製を中断する制御手段として機能させるデータ複製制御プログラムであって
    前記判定手段は、前記レスポンスデータの複製元のアドレスを示す値と、前記メモリに複製された前記反転値との整合性が取れているか確認し、整合性が取れていない場合、当該アドレスが正当でないと判定することを特徴とするデータ複製制御プログラム。
  8. 外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードの前記コントローラにより行われるデータ複製制御方法であって、
    前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するステップと、
    前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定するステップと、
    前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するステップと、
    を含み、
    前記データ複製制御方法は、前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とするデータ複製制御方法。
  9. 外部端末から受信したコマンドに対応した所定の処理を実行するコントローラと、当該処理の結果に基づいて前記外部端末へ出力するためのレスポンスデータを記憶するメモリとを備え、前記レスポンスデータを前記メモリから通信用バッファに複製した後、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力するICカードにおける前記コントローラを、
    前記メモリの所定のアドレスに記憶された前記レスポンスデータを所定サイズ毎に前記通信用バッファに複製するデータ複製手段、
    前記所定サイズの複製毎に複製元の前記アドレスが正当であるかを判定する判定手段、及び、
    前記データ複製手段により前記レスポンスデータの複製が完了した場合に、当該通信用バッファに複製された前記レスポンスデータを前記外部端末へ出力する制御手段として機能させ、
    前記制御手段は、前記判定手段により前記複製元の前記アドレスが正当でないと判定された場合にも、前記レスポンスデータの前記所定サイズ毎の複製を継続させ、前記通信用バッファに複製された当該レスポンスデータの前記外部端末への出力を不能にすることを特徴とするデータ複製制御プログラム。
JP2012281455A 2012-12-25 2012-12-25 Icカード、データ複製制御方法及びデータ複製制御プログラム Active JP6031997B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012281455A JP6031997B2 (ja) 2012-12-25 2012-12-25 Icカード、データ複製制御方法及びデータ複製制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012281455A JP6031997B2 (ja) 2012-12-25 2012-12-25 Icカード、データ複製制御方法及びデータ複製制御プログラム

Publications (2)

Publication Number Publication Date
JP2014126935A JP2014126935A (ja) 2014-07-07
JP6031997B2 true JP6031997B2 (ja) 2016-11-24

Family

ID=51406403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012281455A Active JP6031997B2 (ja) 2012-12-25 2012-12-25 Icカード、データ複製制御方法及びデータ複製制御プログラム

Country Status (1)

Country Link
JP (1) JP6031997B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778126A (ja) * 1993-09-08 1995-03-20 Kyodo Printing Co Ltd Icカード用のマイクロコンピュータ
JP4713878B2 (ja) * 2004-12-14 2011-06-29 株式会社東芝 携帯可能電子装置
JP2010033121A (ja) * 2008-07-25 2010-02-12 Rohm Co Ltd 記憶装置
JP2011150495A (ja) * 2010-01-21 2011-08-04 Rohm Co Ltd 記憶装置

Also Published As

Publication number Publication date
JP2014126935A (ja) 2014-07-07

Similar Documents

Publication Publication Date Title
JP6373888B2 (ja) 情報処理装置及び制御方法
JP4980064B2 (ja) 携帯端末内に格納されたデータを第1のデータバージョンから更新データバージョンに差分的に更新する方法、携帯端末及びコンピュータプログラム
CN100489805C (zh) 运行时间安全保证的自动存储器检测器及其方法
JP2001297038A (ja) データ記憶装置および記録媒体並びに記録媒体制御方法
US9262631B2 (en) Embedded device and control method thereof
TW201928991A (zh) 透通附接之快閃記憶體安全性
JP2009530697A (ja) 自動設定可能なスマートカードおよびスマートカードの自動設定方法
US8738919B2 (en) Control of the integrity of a memory external to a microprocessor
CN118051919B (zh) 数据处理方法、芯片、电子设备以及存储介质
JP6622360B2 (ja) 情報処理装置
JP2007004456A (ja) 携帯可能電子装置及び携帯可能電子装置のデータ出力方法
JP6031997B2 (ja) Icカード、データ複製制御方法及びデータ複製制御プログラム
US9652232B2 (en) Data processing arrangement and method for data processing
JP2008542941A (ja) Itsofvc2アプリケーションモニタ
JP6182940B2 (ja) Icカード、ステータスワード出力方法、及びステータスワード出力処理プログラム
CN103105783A (zh) 嵌入式元件与控制方法
JP4899499B2 (ja) Icカード発行方法、icカード発行システムおよびicカード
CN106484477B (zh) 安全的软件下载与启动方法
JP2000322535A (ja) Icカードの情報処理方法及び方式
JP2008204085A (ja) 半導体記憶装置
EP3387535B1 (en) Apparatus and method for software self test
US7688637B2 (en) Memory self-test circuit, semiconductor device and IC card including the same, and memory self-test method
JP5949357B2 (ja) セキュリティトークン、データ改竄検知方法およびコンピュータプログラム
JP5200686B2 (ja) 情報処理装置、正常処理判別方法、及び情報処理プログラム
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