JP5332845B2 - Icチップ及びデータ保護方法等 - Google Patents

Icチップ及びデータ保護方法等 Download PDF

Info

Publication number
JP5332845B2
JP5332845B2 JP2009095952A JP2009095952A JP5332845B2 JP 5332845 B2 JP5332845 B2 JP 5332845B2 JP 2009095952 A JP2009095952 A JP 2009095952A JP 2009095952 A JP2009095952 A JP 2009095952A JP 5332845 B2 JP5332845 B2 JP 5332845B2
Authority
JP
Japan
Prior art keywords
abnormality
abnormality handling
program
control information
handling processing
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
JP2009095952A
Other languages
English (en)
Other versions
JP2010250364A (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 JP2009095952A priority Critical patent/JP5332845B2/ja
Publication of JP2010250364A publication Critical patent/JP2010250364A/ja
Application granted granted Critical
Publication of JP5332845B2 publication Critical patent/JP5332845B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、ICチップに記憶されるデータに対して、種々のセキュリティ攻撃に対する防御方法を設定することができる装置及び方法等の技術分野に関する。
近年、ICカードに搭載されたICチップには、極めて重要なデータ(情報)が記憶され、当該データを用いて、様々なビジネスが展開されている。例えば、電子マネー機能を有する非接触型ICカードには顧客の有する資産に関するデータが記憶され、当該データを用いたビジネスが展開されている。
従って、ICカードに記憶されるデータに対しては、取引の安全性確保又は個人情報保護等の観点から、セキュリティの確保、即ち、これらデータの機密性(Confidentiality)、完全性(Integrity)及び可用性(Availability)が担保される必要がある。
上記セキュリティの確保を妨げる要因の一つに、ICチップに対する悪意ある第三者からのセキュリティ攻撃がある。前記セキュリティ攻撃は、攻撃対象に応じて複数存在し、セキュリティ攻撃に対する防御方法も前記攻撃の種類に応じて複数存在する。
上記セキュリティ攻撃の一例として、例えば電子ビームによるレーザ攻撃が挙げられる。レーザ攻撃は、ICチップに電子ビームを照射することにより、ICチップの誤動作を誘発させてICチップに記憶(格納)されたデータを読み取り又は改竄等することを目的とする攻撃である。かかるレーザ攻撃に対する防御方法の一例として、当該攻撃を検出した際に、ICチップ内のソフトウェアが前記データを削除する方法が採用されている。
そして、上記検出する条件を設定することによって、上記ソフトウェアのセキュリティレベルを調整するようになっている。
しかし、例え悪意の無い利用者であっても、ICカードの動作中に誤ってリーダライタ装置からICカードを抜いてしまった場合、ICチップ内のデータが破壊されることがある。そして、当該ソフトウェアは、上記検出方法によって、攻撃によりデータが改竄されたと判断し、内部のデータを利用不可能にしてしまう。
従って、過剰な防衛機能を持った高レベルのセキュリティ対策は、悪意ある第三者が多数いる地域(環境)で使用される場合や、守るべきデータが非常に重要な場合おいては有効だが、そうでない場合には、利用者が不便になる虞がある。
以上の点を鑑みて、従来では、予め製品が使用されるシチュエーション(situation)を想定して、当該シュチエーションに応じたセキュリティ対策(セキュリティレベルを適宜設定する)を施したソフトウェアを開発し、ICチップに搭載していた。
上記ソフトウェアは、一般的には、ICチップのマスクROM(Mask ROM)に搭載される。当該マスクROMは、記憶される内容を書き換えることができない不揮発性メモリであるため、一度記憶された上記ソフトウェアの内容を、事後的に変更又は改変等することができないようになっている。
従って、想定されていた利用環境(ICチップの使用されるシチュエーション)が変化し当該ソフトウェアに施したセキュリティ対策方法を変更(例えば、上記検出する条件を変更)する必要が出てきた場合、上記マスクROMに搭載された後は、かかる変更を行うことはできなかった。
また、上記変更を行うためには、上記マスクROMを作り直す必要があり、製造コストの増加及び納期の遅延等の問題が発生してしまい、現実的ではなかった。また、事後的にEEPROM(Electrically Erasable PROM)へパッチデータ(patch data)を書込み、ソフトウェアの動作を変更することも可能であるが、当該EEPROMの空き容量が十分でない場合には、前記パッチデータの書込みを行うことはできなかった。
そこで、本発明は上記各問題点に鑑みてなされたもので、その目的の一例は、ICチップに記憶されるデータに対して、種々のセキュリティ攻撃に対する防御方法を設定することができ、ICチップに記憶されたソフトウェアの改変なしに様々なセキュリティ要求に柔軟に対応することができるICチップ及びデータ保護方法等を提供することである。
上記の課題を解決するために、請求項1に記載のICチップは、異常が検出された場合に実行される異常対応処理プログラムであって、互いに処理内容が異なる複数の前記異常対応処理プログラムを記憶する異常対応処理プログラム記憶手段と、外部から前記複数の異常対応処理プログラムの何れかを指定するための制御情報を入力する入力手段と、前記制御情報を記憶する制御情報記憶手段と、異常が検出された場合に、前記複数の異常対応処理プログラムのうち、前記制御情報により指定される前記異常対応処理プログラムを実行する異常対応処理手段と、を備えるICチップであって、当該ICチップには互いに異なる複数のアプリケーションプログラムが実行可能に記憶されており、前記制御情報は、各前記アプリケーションプログラム毎に対応付けられて記憶されるものであって、前記異常対応処理手段は、異常が検出された場合に、前記各アプリケーションプログラムに対応する前記制御情報により指定される前記異常対応処理プログラムを実行する
この発明によれば、異常が検出された場合に実行される異常対応処理プログラムであって、互いに処理内容が異なる複数の前記異常対応処理プログラムが記憶されており、外部から前記複数の異常対応処理プログラムの何れかを指定するための制御情報が入力されると、前記制御情報が記憶され、異常が検出されると、前記制御情報により指定される前記異常対応処理プログラムを実行することができる。
従って、ICチップに記憶されるデータに対して、種々のセキュリティ攻撃に対する防御方法を設定することができ、ICチップに記憶されたソフトウェアの改変なしに様々なセキュリティ要求に柔軟に対応することができる。また、例えば、マスクROM作成後もセキュリティレベルを自由に変更することができる。
請求項に記載のICカードは、請求項1に記載のICチップと、ICカード基体と、を備えることを特徴とする。
請求項に記載のデータ保護方法は、異常が検出された場合に実行される異常対応処理プログラムであって、互いに処理内容が異なる複数の前記異常対応処理プログラムを記憶する異常対応処理プログラム記憶工程と、外部から前記複数の異常対応処理プログラムの何れかを指定するための制御情報を入力する入力工程と、前記制御情報を記憶する制御情報記憶工程と、異常が検出された場合に、前記複数の異常対応処理プログラムのうち、前記制御情報により指定される前記異常対応処理プログラムを実行する異常対応処理工程と、を含むICチップにおけるデータ保護方法であって、当該ICチップには互いに異なる複数のアプリケーションプログラムが実行可能に記憶されており、前記制御情報は、各前記アプリケーションプログラム毎に対応付けられて記憶されるものであって、前記異常対応処理工程においては、異常が検出された場合に、前記各アプリケーションプログラムに対応する前記制御情報により指定される前記異常対応処理プログラムを実行する
請求項に記載のデータ保護プログラムは、異常が検出された場合に実行される異常対応処理プログラムであって、互いに処理内容が異なる複数の前記異常対応処理プログラムを記憶する異常対応処理プログラム記憶手段を有するICチップに含まれるコンピュータを、外部から前記複数の異常対応処理プログラムの何れかを指定するための制御情報を入力する入力手段、前記制御情報を記憶する制御情報記憶手段、および、異常が検出された場合に、前記複数の異常対応処理プログラムのうち、前記制御情報により指定される前記異常対応処理プログラムを実行する異常対応処理手段、として機能させるデータ保護プログラムであって、前記ICチップには互いに異なる複数のアプリケーションプログラムが実行可能に記憶されており、前記制御情報は、各前記アプリケーションプログラム毎に対応付けられて記憶されるものであって、前記異常対応処理手段は、異常が検出された場合に、前記各アプリケーションプログラムに対応する前記制御情報により指定される前記異常対応処理プログラムを実行する
以上のように、本発明によれば、異常が検出された場合に実行される異常対応処理プログラムであって、互いに処理内容が異なる複数の前記異常対応処理プログラムが記憶されており、外部から前記複数の異常対応処理プログラムの何れかを指定するための制御情報が入力されると、当該制御情報が記憶され、異常が検出された場合に、前記複数の異常対応処理プログラムのうち、前記制御情報により指定される前記異常対応処理プログラムを実行することができるため、ICチップに記憶されるデータに対して、種々のセキュリティ攻撃に対する防御方法を設定することができ、ICチップに記憶されたソフトウェアの改変なしに様々なセキュリティ要求に柔軟に対応することができる。
ICカードの全体構成例を示すブロック図である。 本実施形態に係るROM3及びEEPROM5の記憶領域に記憶されるプログラムの構造を示す概念図である。 制御フラグ書き換えコマンドが入力されてから、結果が出力されるまでの動作概要を示すシーケンス図である。 前記ビット毎に上記異常対応処理プログラムに対応する制御フラグを割り当てた対応関係を模式的に示す図である。 制御フラグ書き換えコマンドを受信した時のICチップ1の動作を示すフローチャートである。 ビットフラグ列に基づき制御フラグの符号が書き換えられたテーブルの一例を示す図である。 セキュリティ攻撃検知時のICチップ1の動作を示すフローチャートである。 発行済み禁止フラグの機能概要を示す概要図である。 上記制御フラグの書き換えを禁止した後のICチップ1の動作を示すフローチャートである。
以下、本願の最良の実施形態を添付図面に基づいて説明する。なお、以下に説明する実施の形態は、ICカードに対して本願を適用した場合の実施形態である。
先ず、本実施形態に係るICカードの構成及び機能概要について、図1を用いて説明する。
図1は、ICカードの全体構成例を示すブロック図である。図1に示すように、ICカード8は、ICチップ1をICカード基体7に備えている。
ICチップ1は、I/O(input/output)インターフェース2、ROM(Read Only Memory)3、RAM(Random Access Memory)4、EEPROM5、CPU(Central Processing Unit)6等を備えて構成されている。
I/Oインターフェース2は、データを送受信するための入出力回路であり、CPU6は、このI/Oインターフェース2を介して図示しないリーダライタ装置等と交信する。
また、このI/Oインターフェース2は、本願の入力手段として機能し、CPU6の制御の下、後述する外部から入力された制御情報等が、I/Oインターフェース2を介して入力される。
ROM3内には、CPU6によって実行されるべきプログラムが記憶されており、CPU6は、このプログラムに基づいてICチップ1を統括的に制御する。
ROM3に記憶されるプログラムの構造について図2(a)を用いて説明する。
図2(a)は、本実施形態に係るROM3の記憶領域に記憶されるプログラムの構造を示す概念図である。
図2(a)に示されるように、ROM3の記憶領域に記憶されるプログラム11には、制御フラグ書き換えモジュール11a及び処理振り分けモジュール11b等が定義づけられている。これらの各モジュールの機能については後述する。
RAM4は、CPU6がICチップ1を統括的に制御するために作業領域として使用するメモリである。
EEPROM5は、不揮発性半導体メモリの一種であり、記憶領域に記憶されているデータを消去し、何度でも再記憶ができるPROM(Programmable Rom)である。さらに、EEPROM5は、本願の異常対応処理プログラム記憶手段及び制御情報記憶手段として機能し、異常対応処理プログラム及び制御情報等、ICチップ1に記録すべきデータを記憶する。
ここで、異常対応処理プログラムとは、異常が検出された場合に実行されるプログラムである。本実施形態における異常対応処理プログラムは、異常の一例としてセキュリティ攻撃が検出されると、当該攻撃からEEPROM5等に記憶されたデータ等を保護するために、CPU6に所定の動作を行わせるように定義されている。
具体的には、例えば、CPU6が、セキュリティ攻撃の一例であるレーザ攻撃を受けたと検出した場合に、前記アプリケーションプログラムの実行の下、CPU6は、上記所定の動作として、例えばICチップ1に記憶されるデータを削除、当該攻撃を受けたことを示すエラーコードを送信又は、他のコマンドを無効化(受け付けない)等の動作(処理)を実行するようになっている。EEPROM5には、互いに処理内容が異なる複数の異常対応処理プログラムが記録されている。
また、制御情報とは、異常対応処理プログラムを指定するための情報であり、本実施形態では、制御情報の一例として制御フラグ群が用いられる。
次に、本実施形態に係るEEPROM5の記憶領域に記憶されるプログラム及び制御フラグ群について、図2(b)及び(c)を用いて説明する。
図2(b)及び(c)は、本実施形態に係るEEPROM5の記憶領域に記憶されるプログラムの構造を示す概念図である。
図2(b)に示すように、EEPROM5内の記憶領域には、アプリケーションプログラムA(12)、アプリケーションプログラムB(13)及びアプリケーションプログラムC(14)の3つのアプリケーションプログラムが実行可能に記憶されている。
各アプリケーションプログラムは、制御情報の一例としての制御フラグ群と対応付けられている。
本願では、アプリケーションプログラムA(12)乃至アプリケーションプログラムC(14)には、制御フラグ群A(12a)乃至制御フラグ群C(14a)が夫々対応付けられている。
図2(c)は、制御フラグ群及び制御フラグの機能概要を示す模式図である。
制御フラグ群は、制御フラグとしてのフラグ1、フラグ2、フラグ3等から構成されている。また、制御フラグは制御フラグ群を構成する符号であり、CPU6等の動作により、当該符号が書き換えられるようになっている。
制御フラグは、上述した異常対応処理プログラムと対応付けられており、CPU6は、上記符号の内容に応じて、制御フラグと対応付けられた異常対応処理プログラムを指定し、異常対応処理プログラムが定義する動作を実行するか否かを判断するようになっている。
図2(c)は、制御フラグの符号にtrue(例えば、1)とfalse(例えば、0)を用いた場合における、CPU6の上記異常対応処理プログラムの指定と動作について模式的に示した図である。
例えば制御フラグがフラグ1であった場合、フラグ1がtrueを示すと、CPU6は、フラグ1に対応付けられた異常対応処理プログラムを指定し、当該異常対応処理プログラムが定義する動作1を実行する(換言すれば、動作1を活性化する)ことが、一方、フラグ1がfalseを示すと、CPU6は、フラグ1に対応付けられた異常対応処理プログラムを指定せず、動作1を実行しない(換言すれば、動作1を活性化しない)ことが模式的に示されている。
また、制御フラグがフラグ2及びフラグ3であった場合の上記異常対応処理プログラムの指定と動作も、フラグ1と同様であることが示されている。
CPU6は、上述したようにプログラムに基づいてICチップ1全体の動作を統括的に制御すると共に、本願の異常対応処理手段として機能する。
次に、図3乃至図7を用いて、ICカード8に含まれるICチップ1の動作を説明する。
本実施形態におけるCPU6の動作は、[1.制御フラグの書き換えにおける動作]及び[2.セキュリティ攻撃検出時における動作]に大別することができる。
以下、上記動作について詳細に説明する。
[1.制御フラグの書き換えにおける動作]
本実施形態のICチップ1に含まれるCPU6は、外部から前記複数の異常対応処理プログラムの何れかを指定するための制御フラグ群が入力されると、各前記アプリケーションプログラム毎に対応付けて記憶されている制御フラグ群を書き換える(又は入力された制御フラグ群が示す内容に記憶する)ようになっている。
制御フラグの書き換えにおけるCPU6の動作について、図3乃至図6を用いて説明する。
まず、制御フラグ書き換えコマンドが入力されてから結果が出力されるまでの動作概要について図3を用いて説明する。
図3は、制御フラグ書き換えコマンドが入力されてから結果が出力されるまでの動作概要を示すシーケンス図である。
本実施形態では、制御フラグ群を入力することによって、制御フラグ群を構成する制御フラグに対応付けられた異常対応処理プログラムを指定するようになっている。そして、制御フラグ群は各アプリケーションプログラム毎に対応付けられているため、各アプリケーションプログラム毎にかかる指定が可能となっている。
上記指定を行うために、まず、アプリケーションプログラムを起動させる。当該アプリケーションプログラムを起動させることによって、当該アプリケーションプログラムに対応付けられた制御フラグ群を構成する制御フラグの符号を書き換えることができるようになっている。
そして、他のアプリケーションプログラムに対応する制御フラグの符号を書き換える場合には、当該他のアプリケーションを起動させ、当該アプリケーションプログラムに対応付けられた制御フラグ群を構成する制御フラグの符号を書き換えることができるようになっている。
以下に上記動作について詳細に説明する。
まず、図示しない端末装置から、制御フラグ書き換えコマンド(コマンド)が入力される(ステップS1)。
ここで、制御フラグ書き換えコマンドとは、CPU6に上記制御フラグの符号の書き換えを指示するための命令をいい、本実施形態においては、例えば、ユーザの図示しない端末装置の操作により、ICカード8に対して入力される。
本実施形態では、制御フラグ群の一例としてビットフラグ列が用いられ、当該ビットフラグ列が、ICカード8に入力される。
ここで、ビットフラグ列とは、整数型の各ビットを制御フラグの符号に見立てて値を保持するものであり、本実施例では、前記ビット毎に異常対応処理プログラムに対応付けられた制御フラグが割り当てられている。
そして、CPU6は、上述したROM3の記憶領域に記憶されるプログラム11の制御フラグ書き換えモジュール11の実行の下、当該ビットの値に応じて、上記制御フラグの符号を書き換えるようになっている。
図4は、前記ビット毎に上記異常対応処理プログラムに対応する制御フラグを割り当てた対応関係を模式的に示す図である。
図4に示す図は、bit1からbit8の8ビット長からなるビットフラグ列部と、各ビット毎に異なる異常対応処理プログラムに対応付けられた制御フラグが割り当てられ、当該異常対応処理プログラムが定義する動作の内容を示す動作表示部からなっている。
上記ビットフラグ列において、8番目のビットであるbit8は、異常対応処理プログラムが定義する動作の内容が「アプリケーション自身の削除」である当該異常対応処理プログラムに対応付けられた制御フラグに、割り当てられていることを示している。
そして、当該ビットの値が0を示す場合には、前記制御フラグの符号をfalseと変化させ、異常対応処理プログラムを指定しないようになっている。この結果、当該異常対応処理プログラムは実行されないため、CPU6に、当該異常対応処理プログラムが定義する動作である「アプリケーション自身の削除」を実行させないようになっている。
一方、当該ビットの値が1の場合は、前記制御フラグの符号をtrueと変化させ、当該異常対応処理プログラムを指定するようになっている。この結果、当該異常対応処理プログラムは実行されるため、CPU6に、当該異常対応処理プログラムが定義する動作である「アプリケーション自身の削除」を実行させるようになっている。
また、7番目のビットであるbit7は、異常対応処理プログラムが定義する動作の内容が「鍵データの削除」である異常対応処理プログラムに対応付けられた制御フラグに、割り当てられていることを示している。
そして、当該ビットの値が0を示す場合には、前記制御フラグの符号をfalseと変化させ、異常対応処理プログラムを指定しないようになっている。この結果、当該異常対応処理プログラムは実行されないため、CPU6に当該異常対応処理プログラムが定義する動作である「鍵データの削除」を実行させないようになっている。
一方、当該ビットの値が1の場合は、前記制御フラグの符号をtrueと変化させ、当該異常対応処理プログラムを指定するようになっている。この結果、当該異常対応処理プログラムは実行されるため、CPU6に当該異常対応処理プログラムが定義する動作である「鍵データの削除」を実行させるようになっている。
また、6番目のビットであるbit6は、異常対応処理プログラムが定義する動作の内容が「暗証番号の削除」である当該プログラムに対応付けられた制御フラグに、割り当てられていることを示している。
そして、当該ビットの値が0を示す場合には、前記制御フラグの符号をfalseと変化させ、異常対応処理プログラムを指定しないようになっている。この結果、当該異常対応処理プログラムは実行されないため、CPU6に当該異常対応処理プログラムが定義する動作である「暗証番号の削除」を実行させないようになっている。
一方、当該ビットの値が1の場合は、前記制御フラグの符号をtrueと変化させ、当該異常対応処理プログラムを指定するようになっている。この結果、当該異常対応処理プログラムは実行されるため、CPU6に当該異常対応処理プログラムが定義する動作である「暗証番号の削除」を実行させるようになっている。
また、5番目のビットであるbit5は、異常対応処理プログラムが定義する動作の内容が「攻撃を受けたことを示すエラーコードを返す」である当該プログラムに対応付けられた制御フラグに、割り当てられていることを示している。
そして、当該ビットの値が0を示す場合には、前記制御フラグの符号をfalseと変化させ、異常対応処理プログラムを指定しないようになっている。この結果、当該異常対応処理プログラムは実行されないため、CPU6に当該異常対応処理プログラム画定義する動作である「攻撃を受けたことを示すエラーコードを返す」を実行させないようになっている。
一方、当該ビットの値が1の場合は、前記制御フラグの符号をtrueと変化させ、当該異常対応処理プログラムを指定するようになっている。この結果、当該異常対応処理プログラムは実行されるため、CPU6に当該異常対応処理プログラムが定義する動作である「攻撃を受けたことを示すエラーコードを返す」を実行させるようになっている。
また、4番目のビットであるbit4は、異常対応処理プログラムが定義する動作の内容が「アプリケーション選択中は、コマンドを受け付けない」である当該プログラムに対応付けられた制御フラグに、割り当てられていることを示している。
そして、当該ビットの値が0を示す場合には、前記制御フラグの符号をfalseと変化させ、異常対応処理プログラムを指定しないようになっている。この結果、当該異常対応処理プログラムは実行されないため、CPU6に当該異常対応処理プログラム画定義する動作である「アプリケーション選択中は、コマンドを受け付けない」を実行させないようになっている。
一方、当該ビットの値が1の場合は、前記制御フラグの符号をtrueと変化させ、当該異常対応処理プログラムを指定するようになっている。この結果、当該異常対応処理プログラムは実行されるため、CPU6に当該異常対応処理プログラムが定義する動作である「アプリケーション選択中は、コマンドを受け付けない」を実行させるようになっている。
また、3番目のビットであるbit3〜1番目のビットであるbit1は、何らの異常対応処理プログラムに対応する制御フラグに割り当てられていないことを示している。
このように、制御フラグ群をビットフラグ列で表現することにより、異なる種類の複数の制御フラグの符号を一括して書き換えることができる。
図3の説明に戻り、前記コマンドが入力されると、CPU6は、後述する制御フラグ書き換え処理を行う(ステップS2)。そして、結果を端末装置へ出力するようになっている(ステップS3)。
このようにして、ビットフラグ列を用いて外部から複数の異常対応処理プログラムの何れかを指定できるようになっている。
なお、上記ビットフラグ列が入力される段階は、上記制御フラグ書き換えコマンドが入力される前後を問わずいつでも可能である。
次に、制御フラグ書き換えコマンドを受信した時のICチップ1の動作について、図5及び図6を用いて説明する。
図5は、制御フラグ書き換えコマンドを受信した時のICチップ1の動作を示すフローチャートである。
まず、制御フラグ書き換えコマンドが受信される前に、上述したようにアプリケーションプログラムを起動等させ制御フラグ書き換えコマンドの受信を可能な状態とする。
そして、ICチップ1が制御フラグ書き換えコマンドを受信すると(ステップS10)、CPU6は、制御フラグ書き換えコマンドを解析する(ステップS11)。具体的には、上記制御フラグ書き換えコマンドの入力を受けたCPU6は、当該コマンドが上記制御フラグ書き換えコマンドであることを認識し、制御フラグを書き換える処理の準備を行う。
次に、CPU6は、既に入力された、又はこれから入力される上記ビットフラグ列に応じて、所定の動作と対応付けられている制御フラグの符号を書き換え(又は書込み)(ステップS12)、EPPROM5等に記憶する。
図6は、ビットフラグ列に基づき制御フラグの符号が書き換えられたテーブルの一例を示す図である。
図6(a)は、ビットフラグ列の一例を示す図である。
ビットフラグ列部30は、例えば、1番目のビットであるbit1から8番目のビットであるbit8の値が順番に、「00001110」であるビットフラグ列から構成される。
図6(b)は、当該コマンドに基づき制御フラグが書き換えられたテーブルの一例を示す図である。
上述したように、CPU6は、上述したビットフラグ列に基づき、上記各ビットの値が1を示すビットに割り当てられた制御フラグの符号をtrueに書き換えるようになっている。
図6(b)では、ビットフラグ列部30の5番目のビット(bit5)〜7番目のビット(bit7)が1であるため、CPU6は、当該ビットに割り当てられている制御フラグの符号をtrueに書き換えるようになっている。
図5の説明に戻り、CPU6は、制御フラグの書込みが終了すると、結果を出力する(ステップS13)。
[2.セキュリティ攻撃検出時における動作]
次に、異常検出の一例としてのセキュリティ攻撃検出時のICチップ1の動作について、図7を用いて説明する。
図7は、セキュリティ攻撃検知時のICチップ1の動作を示すフローチャートである。
ICチップ1は、通常処理中(例えば、ICカード8が商取引に用いられ決算処理が行われている間等)に、異常が発生しているか否かを検出するようになっている。
かかる異常の一例として、例えばICチップ1にセキュリティ攻撃が加えられる状態が挙げられる。
ICチップ1が、レーザ攻撃等のセキュリティ攻撃を受けると、CPU6のクロック周波数が急激に低下したり、ICチップ1に供給される電圧が急激に低下したり、又はEEPROM5等に記憶されるデータが書き換えられてしまう等の種々の現象が発生する。CPU6は、これらの現象を検出するようになっている。
上記通常処理中に異常を検出した場合には(ステップS20:YES)、CPU6は、上述したROM3の記憶領域に記憶されるプログラム11の処理振り分けモジュール11bの実行の下、アプリケーションプログラムに対応付けられた制御フラグ群を読み取り(ステップS21)、異常対応処理プログラムに対応する制御フラグの符号がtrueとなっている当該プログラムの所定の動作を実行する(ステップS22)。
具体的には、例えば、制御フラグの符号が図6(b)に示すテーブルと同じであった場合を例に説明すると、上記異常を検知したCPU6は、異常対応処理プログラムに対応する制御フラグがtrue(1)である異常対応処理プログラムを実行する。
さらに具体的には、図6(b)のテーブルにおいて、異常対応処理プログラムに対応する制御フラグがtrue(1)である異常対応処理プログラムは、当該プログラム画定義する動作が、「暗証番号の削除」(図6の制御フラグ割当部25)、「暗証番号の削除」(図6の制御フラグ割当部26)及び「攻撃を受けたことを示すエラーコードを返す」(図6の制御フラグ割当部27)を示すものである。
従って、CPU6は、各異常対応処理プログラムの実行の下、「暗証番号の削除」、「暗証番号の削除」及び「攻撃を受けたことを示すエラーコードを返す」の各処理を実行するようになっている。
一方、上記通常処理中に異常を検出しなかった場合には(ステップS20:NO)、通常処理が終了するまで上記検出を行う(ステップS23:NO)。通常処理が終了した場合には(ステップS24:YES)、処理を終了する。
[3.発行処理後のICチップ1の動作]
次に、発行処理後のICチップ1の動作について、図8及び図9を用いて説明する。
ICカードの発行処理が終了し、当該ICカードの運用段階(例えば、ICカード8を用いて、ビジネス等が展開される段階等)において、上記制御フラグを書き換えること(異常対応処理プログラムが定義する動作を実行させるか否かを変更すること)は、セキュリティ性低下の虞がある。
かかる書き換えによって、異常対応処理プログラムが定義する動作を全て実行させないとする書き換えも可能となり、セキュリティ対策の機能を全て無効にすることが可能になってしまう。
上記問題点を防止するために、発行処理後は上記制御フラグの書き換えを禁止するようにすることもできる。
具体的は、例えば、アプリケーションプログラムに発行済み禁止フラグを設けるようにしてもよい。
図8は、発行済み禁止フラグの機能概要を示す概要図である。
発行済みフラグ40は、例えばアプリケーションプログラム対応付けられる符号であり、発行処理が終了すると、CPU6等の指示により、発行済みフラグ40の符号を書き換えるようになっている。
意味15には、発行済みフラグの内容(定義)及び、上記書き換えられる符号の内容が示されている。具体的には、発行済みフラグの内容として当該フラグが発行済みかどうかを示すフラグであることが、上記書き換えられる符号の内容として、発行済みであった場合には符号としてtrue(1)に、発行済みでない場合には符号としてfalse(0)に夫々書き換えられることが示されている。
CPU6は、発行処理が終了すると上記符号をtrueへ書き換えるようになっている。
そして、CPU6は、上記符号がtrueであった場合には、たとえ上記コマンドを受信しても、上記制御フラグの書き換えを禁止するようになっている。
次に、上記制御フラグの書き換えを禁止した後のICチップ1の動作を図9を用いて説明する。
図9は、上記制御フラグの書き換えを禁止した後のICチップ1の動作を示すフローチャートである。
なお、本動作では、発行処理と制御フラグ書き換えコマンドの受信を同時に行う場合について説明するが、本動作に限定されるものではない。
ICチップ1が制御フラグ書き換えコマンドを受信すると(ステップS30)、CPU6は、発行済みフラグ40の符号を参照して、ICカード8が発行処理済みか否かを判断する(ステップS31)。
具体的には、CPU6は、上記発行済みフラグ40の符号を参照し、当該符号がtrueであった場合には発行済みと、当該符号がfalseであった場合には発行済みでないと判断する。
発行済みでないと判断した場合には(ステップS31:NO)、CPU6は、制御フラグ書き換えコマンドを解析し、制御フラグ書き換え処理の準備を行う。
そして、CPU6は上記ビットフラグ列に応じて、所定の動作と対応付けられている制御フラグの符号を書き換えを行う(ステップS32)。
そして、発行済みフラグの符号をtrueにセットし(ステップS33)、結果を出力後(ステップS34)、処理を終了する。
一方、発行済みであると判断した場合には(ステップS31:YES)、上記制御フラグの書込みは行わず、その旨を示す結果を出力する(ステップS34)。
上記実施形態では、発行処理後は上記制御フラグの書き換えを禁止するようにしたが、任意に上記制御フラグの書き換えを許可するようにしてもよい。
具体的は、例えば、アプリケーションプログラムに書き換え可能フラグを設け、当該フラグが示す符号がtrueであった場合には常時上記制御フラグの書き換えを許可し、当該フラグが示す符号がfalseであった場合には上記制御フラグの書き換えを禁止するようにしてもよい。
CPU6は、上記符号がtrueであった場合には、上記コマンドを受信した場合には常に、上記制御フラグの書き換えを許可するようになっている。
このようにして、ユーザの使用環境に応じたセキュリティ対策を講じることが可能となる。
以上説明したように、本実施形態においては、異常が検出された場合に実行される異常対応処理プログラムであって、互いに処理内容が異なる複数の前記異常対応処理プログラムと、互いに異なる複数のアプリケーションプログラムが実行可能に記憶されており、外部から前記複数の異常対応処理プログラムの何れかを指定するための制御フラグ群が入力されると、前記制御フラグ群を各前記アプリケーションプログラム毎に対応付けて記憶し、異常が検出された場合に、前記複数の異常対応処理プログラムのうち、前記各アプリケーションプログラムに対応する前記制御フラグにより指定される前記異常対応処理プログラムを実行する。
従って、アプリケーション毎に異なるセキュリティ攻撃に対する防御方法を簡便な方法で設定することができ、ICチップに記憶されたソフトウェアの改変なしに様々なセキュリティ要求にさらに柔軟に対応することができる。また、例えば、マスクROM作成後もセキュリティレベルを自由に変更することができる。
なお、上記実施形態においては、本願をICチップに対して適用した場合の例を示したが、その他にも例えば、パーソナルコンピュータ又は家庭用等の電子機器等に対しても適用可能である。
1 ICチップ
2 I/Oインターフェース
3 ROM
4 RAM
5 EEPROM
6 CPU
7 カード基体
8 ICカード

Claims (4)

  1. 異常が検出された場合に実行される異常対応処理プログラムであって、互いに処理内容が異なる複数の前記異常対応処理プログラムを記憶する異常対応処理プログラム記憶手段と、
    外部から前記複数の異常対応処理プログラムの何れかを指定するための制御情報を入力する入力手段と、
    前記制御情報を記憶する制御情報記憶手段と、
    異常が検出された場合に、前記複数の異常対応処理プログラムのうち、前記制御情報により指定される前記異常対応処理プログラムを実行する異常対応処理手段と、
    を備えるICチップであって、
    当該ICチップには互いに異なる複数のアプリケーションプログラムが実行可能に記憶されており、
    前記制御情報は、各前記アプリケーションプログラム毎に対応付けられて記憶されるものであって、
    前記異常対応処理手段は、異常が検出された場合に、前記各アプリケーションプログラムに対応する前記制御情報により指定される前記異常対応処理プログラムを実行することを特徴とするICチップ。
  2. 請求項1に記載のICチップと、ICカード基体と、
    を備えることを特徴とするICカード。
  3. 異常が検出された場合に実行される異常対応処理プログラムであって、互いに処理内容が異なる複数の前記異常対応処理プログラムを記憶する異常対応処理プログラム記憶工程と、
    外部から前記複数の異常対応処理プログラムの何れかを指定するための制御情報を入力する入力工程と、
    前記制御情報を記憶する制御情報記憶工程と、
    異常が検出された場合に、前記複数の異常対応処理プログラムのうち、前記制御情報により指定される前記異常対応処理プログラムを実行する異常対応処理工程と、
    を含むICチップにおけるデータ保護方法であって、
    当該ICチップには互いに異なる複数のアプリケーションプログラムが実行可能に記憶されており、
    前記制御情報は、各前記アプリケーションプログラム毎に対応付けられて記憶されるものであって、
    前記異常対応処理工程においては、異常が検出された場合に、前記各アプリケーションプログラムに対応する前記制御情報により指定される前記異常対応処理プログラムを実行することを特徴とするICチップにおけるデータ保護方法
  4. 異常が検出された場合に実行される異常対応処理プログラムであって、互いに処理内容が異なる複数の前記異常対応処理プログラムを記憶する異常対応処理プログラム記憶手段を有するICチップに含まれるコンピュータを、
    外部から前記複数の異常対応処理プログラムの何れかを指定するための制御情報を入力する入力手段、
    前記制御情報を記憶する制御情報記憶手段、および、
    異常が検出された場合に、前記複数の異常対応処理プログラムのうち、前記制御情報により指定される前記異常対応処理プログラムを実行する異常対応処理手段として機能させるデータ保護プログラムであって、
    前記ICチップには互いに異なる複数のアプリケーションプログラムが実行可能に記憶されており、
    前記制御情報は、各前記アプリケーションプログラム毎に対応付けられて記憶されるものであって、
    前記異常対応処理手段は、異常が検出された場合に、前記各アプリケーションプログラムに対応する前記制御情報により指定される前記異常対応処理プログラムを実行することを特徴とするデータ保護プログラム
JP2009095952A 2009-04-10 2009-04-10 Icチップ及びデータ保護方法等 Active JP5332845B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009095952A JP5332845B2 (ja) 2009-04-10 2009-04-10 Icチップ及びデータ保護方法等

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009095952A JP5332845B2 (ja) 2009-04-10 2009-04-10 Icチップ及びデータ保護方法等

Publications (2)

Publication Number Publication Date
JP2010250364A JP2010250364A (ja) 2010-11-04
JP5332845B2 true JP5332845B2 (ja) 2013-11-06

Family

ID=43312658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009095952A Active JP5332845B2 (ja) 2009-04-10 2009-04-10 Icチップ及びデータ保護方法等

Country Status (1)

Country Link
JP (1) JP5332845B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5998452B2 (ja) * 2011-10-31 2016-09-28 大日本印刷株式会社 Icチップ、icカード、情報処理方法、情報処理プログラム及び情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2020009305A (ja) * 2018-07-11 2020-01-16 凸版印刷株式会社 Icチップ、icカード及びプログラム
JP2020013249A (ja) * 2018-07-17 2020-01-23 凸版印刷株式会社 Icチップ及びicカード
JP7463943B2 (ja) 2020-11-09 2024-04-09 大日本印刷株式会社 組み込み型加入者識別モジュール

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076139A (ja) * 1998-08-28 2000-03-14 Nippon Telegr & Teleph Corp <Ntt> 携帯型情報記憶媒体
JP2001118042A (ja) * 1999-10-19 2001-04-27 Hitachi Ltd カード監視方法
JP5069406B2 (ja) * 2004-07-23 2012-11-07 テキサス インスツルメンツ インコーポレイテッド 計算機システム内のセキュリティ侵害を識別して防ぐためのシステムと方法
WO2007147495A2 (en) * 2006-06-21 2007-12-27 Wibu-Systems Ag Method and system for intrusion detection

Also Published As

Publication number Publication date
JP2010250364A (ja) 2010-11-04

Similar Documents

Publication Publication Date Title
JP5041980B2 (ja) データ処理回路及び通信携帯端末装置
US20090204749A1 (en) Redimdamt purge for flash storage device
JP5332845B2 (ja) Icチップ及びデータ保護方法等
US20130055025A1 (en) Microprocessor protected against memory dump
US20060289656A1 (en) Portable electronic apparatus and data output method therefor
JP4489915B2 (ja) 暗証コード照合機能をもった携帯型情報処理装置
JP2003208586A (ja) Eepromへのアクセスを制御する方法および装置、並びに対応するコンピュータ・ソフトウェア・プロダクトおよび対応するコンピュータ読取り可能記憶媒体
JP4734582B2 (ja) 不揮発性メモリのデータ更新方法、制御装置、及びデータ更新プログラム
JP6396119B2 (ja) Icモジュール、icカード、及びicカードの製造方法
JP2006338311A (ja) 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム
JP5998452B2 (ja) Icチップ、icカード、情報処理方法、情報処理プログラム及び情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP6828548B2 (ja) 電子情報記憶媒体、icカード、改竄チェック方法及び改竄チェック用プログラム
US20150101051A1 (en) Method and device for the performance of a function by a microcircuit
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
JP4836707B2 (ja) 携帯可能電子装置およびicカード
JP6160326B2 (ja) 情報記憶媒体、情報書き込み方法、及び書き込みプログラム
JP7322923B2 (ja) セキュアエレメント,トランザクション制御方法およびデバイス
JP7438432B1 (ja) 電子情報記憶媒体、icチップ、icカード、レコード書き込み方法、及びプログラム
CN117034325B (zh) 一种Flash数据内容加密方法、装置、设备及存储介质
JP2008152452A (ja) 携帯可能電子装置、携帯可能電子装置の制御方法およびicカード
JP7559492B2 (ja) Icカード、icカードのロギング情報処理方法、及びプログラム
KR20100068469A (ko) 반도체 기억 장치와 그 제어 방법, 전자 기기, 및 제어 장치
JP2004227306A (ja) ダウンロードプログラム消去機能付きicカード及び同カードにおけるダウンロードプログラム消去方法
JP2002278934A (ja) セキュリティ管理装置およびセキュリティ管理方法
CN111159711A (zh) 一种防串货方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130509

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: 20130702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130715

R150 Certificate of patent or registration of utility model

Ref document number: 5332845

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150