説明

ICチップ、データ保護方法、データ保護プログラム、ICカード及び記録媒体

【課題】ICチップに記憶されたデータの安全性を担保することができるICチップ、データ保護方法、データ保護プログラム、及びICカードを提供する。
【解決手段】ICチップ1は、特定の発行処理が完了した場合に、不揮発性メモリ5のプロテクト設定領域21に対するデータを保護する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを保護する装置及び方法等の技術分野に関する。
【背景技術】
【0002】
金融・通信・交通分野等の様々なサービスに利用されるICチップが搭載されたICカードには、各サービスで要求される処理を実行するために、所定のモード(動作モード)が備えられている。
【0003】
このモードの一例として、ICカード利用者の個人情報の書き込みや、所定のモードにおける処理に必要なアプリケーションや情報の書き込みを行う発行処理が実行されるモード(以下、単に「発行処理モード」又は「発行処理」と称する。)と、ICカードが利用者の手元に届いた後に、例えばICチップの記憶部等に記録(書き込み)されたアプリケーションの動作によって、当該利用者が提供を望む上記サービスに応じた処理が実行されるユーザーモードが存在する。
【0004】
この発行処理は、ICカードの製造者や上記サービスの提供者等によって利用されるものであり、例えば、上記サービスに応じた処理を実行するためのアプリケーションの登録(記録)や、クレジット機能や携帯電話の機能(例えば、データ通信、又は通話機能等)において使用される鍵(暗証番号等)等の重要情報を書き変えることが可能となっている。従って、ICカード利用者の手に渡った後に、発行処理モードが利用できてしまうと、上記ICカードの製造者や上記サービスの提供者等以外の第三者によって、不正なプログラムの書き込みや、鍵の変更(読み出し、又は書き換え等を含む)が可能となってしまう。そのため、ICカードの製造者や上記サービスの提供者等によって、発行処理モードが利用され所定の処理が完了した後に、発行処理モードが動作することはセキュリティ上好ましくない。
【0005】
そこで、通常のICカードでは、発行処理モードを利用するためには、所定の認証処理(例えば、パスワードによる認証(PIN照合等))を必要とするなどの措置を講じている。
【0006】
また、特許文献1では、システム領域に書き込まれたデータから所定の演算課程により算出されたチェックデータに基づいて発行前状態または発行後状態を判定し、発行前状態である場合にのみメモリへプログラムを書き込む技術が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特許第4457573号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、パスワードによる認証においては、認証情報(パスワード)が漏洩したり、推測された場合に発行処理モードが利用可能となってしまい、発行処理が完了した後にICチップに記憶されたデータが、第三者に読み出されてしまう虞があり、ICチップに記憶されたデータの安全性を担保することはできなかった。
【0009】
また、特許文献1で開示された技術では、発行処理が完了した後にICチップに記憶されたデータが、第三者に読み出されてしまう虞があり、やはり、ICチップに記憶されたデータの安全性を担保することはできなかった。
【0010】
そこで、本発明は、このような問題点等に鑑みてなされたものであり、ICチップに記憶されたデータの安全性を担保することができるICチップ、データ保護方法、データ保護プログラム、ICカード及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決するために、請求項1に記載の発明は、保護されるべきデータが記憶されるプロテクト設定領域と、前記プロテクト設定領域に設けられ、発行処理の実行要求に応じて、所定の値が書き込まれる発行処理確認領域が設定される記憶部と、前記発行処理確認領域に所定の値が書き込まれた場合に、発行処理を行う発行処理手段と、特定の発行処理が完了した場合に、前記プロテクト設定領域に対するデータを保護する保護手段と、を備えることを特徴とする。
【0012】
この発明によれば、ICチップに記憶されたデータの安全性を担保することができる。
【0013】
請求項2に記載の発明は、請求項1に記載のICチップであって、前記保護は、前記プロテクト設定領域に対するアクセスを制限して、当該プロテクト領域に対するデータの読み出し又は書き込みを禁止することを特徴とする。
【0014】
この発明によれば、ICチップに記憶されたデータの安全性を、より効果的に担保することができる。
【0015】
請求項3に記載の発明は、請求項1又は2に記載のICチップと、ICカード基体と、を備えることを特徴とする。
【0016】
請求項4に記載の発明は、保護されるべきデータが記憶されるプロテクト設定領域と、前記プロテクト設定領域に設けられ、発行処理の実行要求に応じて、所定の値が書き込まれる発行処理確認領域が設定される記憶部を備えるICチップにおけるデータ保護方法であって、前記発行処理確認領域に所定の値が書き込まれた場合に、発行処理を行う発行処理工程と、特定の発行処理が完了した場合に、前記プロテクト設定領域に対するデータを保護する保護工程と、を有することを特徴とする。
【0017】
請求項5に記載の発明は、保護されるべきデータが記憶されるプロテクト設定領域と、前記プロテクト設定領域に設けられ、発行処理の実行要求に応じて、所定の値が書き込まれる発行処理確認領域が設定される記憶部を備えるICチップに含まれるコンピュータを、前記発行処理確認領域に所定の値が書き込まれた場合に、発行処理を行う発行処理手段、特定の発行処理が完了した場合に、前記プロテクト設定領域に対するデータを保護する保護手段、として機能させることを特徴とする。
【0018】
請求項6に記載の発明は、保護されるべきデータが記憶されるプロテクト設定領域と、前記プロテクト設定領域に設けられ、発行処理の実行要求に応じて、所定の値が書き込まれる発行処理確認領域が設定される記憶部を備えるICチップに含まれるコンピュータを、前記発行処理確認領域に所定の値が書き込まれた場合に、発行処理を行う発行処理手段、特定の発行処理が完了した場合に、前記プロテクト設定領域に対するデータを保護する保護手段、として機能させることを特徴とするデータ保護プログラムが読み取り可能に記憶されることを特徴とする。
【発明の効果】
【0019】
本発明によれば、特定の発行処理が完了した場合に、データを保護するため、ICチップに記憶されたデータの安全性を担保することができる。
【図面の簡単な説明】
【0020】
【図1】本実施形態に係るICカードの構成及び機能概要を示すブロック図である。
【図2】本実施形態に係る不揮発性メモリ5の記憶領域の構造を示す概念図である。
【図3】特定の発行処理の完了を示すコマンドを受信した場合に、プロテクトモードへ移行する際のCPU6の動作を示すフローチャートである。
【図4】発行処理確認領域22に所定の値が書き込まれた場合に、プロテクトモードへ移行する際のCPU6の動作を示すフローチャートである。
【図5】プロテクトモードの設定状態と発行処理の利用可否を示す表である。
【図6】発行処理確認領域22に書き込まれる所定の値として数値が書き込まれる場合のCPU6のコマンドを受信してから処理するまでの動作を示すフローチャートである。
【図7】発行処理確認領域22に書き込まれる所定の値として、乱数が書き込まれる場合のCPU6のコマンドを受信してから処理するまでの動作を示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、発行処理や所定の動作を実行させるプログラムが搭載されたICカードに対して本発明を適用した場合の実施の形態である。
【0022】
[1. ICカードのハードウェア構成及び機能概要]
まず、図1を参照して、本願のICカードのハードウェア構成及び機能概要について説明する。
【0023】
図1は、本実施形態に係るICカードの構成及び機能概要を示すブロック図である。
【0024】
図1に示すように、ICカード8は、ICチップ1をカード基体7に備えている。
【0025】
そして、ICチップ1は、I/O回路2、ROM(Read Only Memory)3、RAM(Random Access Memory)4、不揮発性メモリ5(本願の記憶部の一例)、CPU(Central Processing Unit)6等を備えて構成されている。なお、I/O回路2を介した外部機器とのデータ通信は、接触方式と非接触方式(TypeA、TypeB、Felica(登録商標)方式、NFC規格等)の何れの方式であってもよい(例えば、ISO7816、ISO14443、ISO18092、又はETSI TS 102等に準拠)。I/O回路2は、図示しない外部機器とデータ通信するための処理回路である。ROM3は、CPU6によって実行されるべきプログラムが記憶されており、CPU6は、このプログラムに基づいてICチップ1を統括的に制御する。
【0026】
また、ROM3に記憶されるプログラムとしては、カードOS(本願のオペレーティングシステムの一例)、発行処理や鉄道及びバス等の交通機関のプリペイドカード及び定期券、クレジットカードや電子マネー等の決済サービス、施設の入退出管理等の所定のサービスをCPU6等に実行させる複数種類のアプリケーションプログラム、及び本発明のデータ保護プログラムがある。なお、本発明のデータ保護プログラムは、カードOS又はアプリケーションプログラムの一機能として組み込まれてもよい。また、これらのプログラムは、不揮発性メモリ5に記憶されるようにしてもよい。
【0027】
RAM4は、CPU6がICチップ1を統括的に制御等するために作業領域として使用する記憶領域である。
【0028】
不揮発性メモリ5は、不揮発性半導体メモリの一種(例えば、フラッシュメモリやEEPROM(登録商標)等)であり、記憶領域に記憶されるデータを消去し、何度でも再記憶ができるPROM(Programmable Rom)である。そして、不揮発性メモリ5は、例えば、各領域にアドレスが付されており、所定の領域を1のページとして、一又は複数のページに区画されている。そして、例えば、CPU6は、カードOSやアプリケーションの制御のもと、不揮発性メモリ5のどの領域に、どのようなデータやプログラムが記憶されているか識別することができる。さらに、CPU6は、カードOSやアプリケーションの制御のもと、不揮発性メモリ5の領域のうち、所定の領域に区切られた領域を他の領域と識別するための識別子(例えば、後述するプロテクト設定領域21や発行処理確認領域22等の領域名称等)を付して管理することもできる。
【0029】
ここで、図2を用いて、本実施形態に係る不揮発性メモリ5の記憶領域の構造について説明する。
【0030】
図2は、本実施形態に係る不揮発性メモリ5の記憶領域の構造を示す概念図である。
【0031】
図2に示すように、本実施形態に係る不揮発性メモリ5の記憶領域(メモリ空間)には、プロテクト設定領域21と、発行処理確認領域22が設定されている。
【0032】
ここで、プロテクト設定領域21と、発行処理確認領域22について説明する。
【0033】
上述したように、ICチップ1では、所定のプログラムの制御のもと、発行処理が実行される。
【0034】
一般的に、ICチップにおける発行処理では、ICカード製造者(メーカー)や、サービスの提供者のもとで、細分化された一又は複数の発行処理が、所定の順番で実行されるようになっている。
【0035】
具体的には、細分化された一又は複数の発行処理として、製造段階、0次発行、1次発行、2次発行と称される各発行処理が、順番に実行される。
【0036】
この各発行処理の処理内容について説明すると、例えば、製造段階では、ICチップ1の製造に関する処理が行われ、具体的には、カードOS等がROM3等に記憶される。0次発行では、ICチップ1の個別化に関する処理が実行され、具体的には、ICチップ1の初期化、ICチップを他のICチップと識別するための識別子等が記憶される。1次発行では、ICチップ1のAP設定(ICチップ1に記憶される所定のアプリケーションの設定)に関する処理が実行され、具体的には、不揮発性メモリ5のフォーマット、所定のアプリケーションを不揮発性メモリ5へ記憶させるために必要な初期設定情報・領域確保等の処理、所定のアプリケーションの記憶(書き込み)等が行われる。2次発行では、ICチップ1のパーソナライズ(ユーザの使用態様等を考慮して最適化されたICチップ1を提供するための処理)に関する処理が実行され、ICカード8を利用するユーザの個人用の設定や個人情報の登録、PIN(Personal Identification Number、暗証番号)やバイオメトリクス情報(指紋等の身体・行動的特徴)等の認証用の情報が記憶される。
【0037】
本実施形態におけるプロテクト設定領域21とは、保護されるべきデータが記憶される領域であり、発行処理確認領域22を含んで設定される。
【0038】
このプロテクト設定領域21に記憶されるデータは、上記発行処理において記憶される情報やアプリケーションが想定され、例えば、上記発行処理やAP設定等が実行されるためのアプリケーション自体や、ICチップ1の識別子、ICカード8を利用するユーザの個人用の設定、個人情報の登録、PIN、バイオメトリクス情報等の認証用の情報等、第三者による読み出しや改竄を防止(秘匿性を担保)すべき重要な情報が想定される。
【0039】
そして、本実施形態における発行処理確認領域22とは、発行処理の実行要求に応じて所定の値が書き込まれる領域である。
【0040】
例えば、上述した製造段階、0次発行、1次発行、2次発行と称される各発行処理の実行を要求するコマンドが入力される度に、発行処理確認領域22に、異なる値が書き込まれるようになっている。
【0041】
そして、詳しくは後述するが、本実施形態におけるCPU6は、発行処理確認領域22に所定の値が書き込まれた場合に、発行処理を行うようになっている。
【0042】
なお、所定の値は、例えば、数値(例えば、16進数、乱数等)や記号等が適用されるが、任意の値を適用することができる。また、細分化された一又は複数の発行処理としては、上述した例に限られず、例えば、製造者等の仕様に応じて任意に細分化(設定)することができる。
【0043】
CPU6は、上述したようにプログラムに基づいてICチップ1全体の動作を統括的に制御するとともに、その機能の一部として、本願の発行処理手段、及び保護手段等として機能する。
【0044】
[2.プロテクトモードに移行する際のCPU6の動作]
次に、図3〜図5を参照して、プロテクトモードへ移行する際のCPU6の動作について説明する。
【0045】
上述したように、発行処理では、第三者による読み出しや改竄を防止すべき重要な情報が記憶され、また、サービス提供に必要なアプリケーションが記憶される。そして、ICカードが市場に流通した後に、これらの情報が第三者によって読み出されてしまうと、これらの情報やアプリケーションの安全性を担保することができない。また、ICカードが市場に流通した後に発行処理が実行されてしまうと、これらの情報やアプリケーションが、が第三者によって読み出され、改ざんされ、又は消去される虞がある。
【0046】
そこで、本実施形態に係るCPU6は、発行処理確認領域22に所定の値が書き込まれた場合に、発行処理を行い、特定の発行処理が完了した場合に、プロテクト設定領域21に記憶されたデータを保護するようになっている。以下、CPU6における特定の発行処理が完了した場合のプロテクト設定領域21に記憶されたデータを保護する動作を、「プロテクトモード」と称する。
【0047】
ここで、CPU6が判断する発行処理の完了とは、ICチップ製造者やサービス提供者による発行処理が完了したことを想定できる処理(動作)を示し、例えば、発行処理確認領域22に所定の値が書き込まれた場合(例えば、上述した製造段階、0次発行、1次発行、又は2次発行等の何れかの発行処理の完了を示すフラグが書き込まれた場合等)や、特定の発行処理の完了(例えば、上述した製造段階、0次発行、1次発行、又は2次発行の何れかの発行処理の完了)を示すコマンドを受信した場合、又は、所定の回数の発行処理が完了した場合等の処理等を想定することができる。そして、CPU6は、これらの処理を検出した場合には、発行処理が完了したと判断するようになっている。
【0048】
また、プロテクト設定領域21に記憶されたデータを保護とは、例えば、ソフトウェア又はハードウェア(スイッチ)の制御によって、プロテクト設定領域21に対するアクセスを制限して、プロテクト設定領域21に記憶されたデータの読み出し又は書き込みを禁止することをいう。かかる保護の方法は公知であるため詳しい説明は省略するが、例えば、公知文献(特開2005−85398号公報等)に開示されるように、ハードウェアスイッチ又はソフトウェアスイッチによってプロテクト設定領域21に対するアクセスを制限するようにしても良いし、不揮発性メモリ5の特定領域をプロテクタするステータスレジスタ(ビット)の設定により、かかる特定領域を読み出し専用(Read only)又は、読み書き禁止とするようにしても良い。
【0049】
ここで、図3を参照して、CPU6が判断する発行処理の完了の一例として特定の発行処理の完了を示すコマンドを受信した場合に、プロテクトモードへ移行する際のCPU6の動作について説明する。
【0050】
図3は、特定の発行処理の完了を示すコマンドを受信した場合に、プロテクトモードへ移行する際のCPU6の動作を示すフローチャートである。
【0051】
図3に示すように、CPU6は、特定の発行処理の完了を示すコマンドとして予め設定されたコマンドを受信した場合には(ステップS1:YES)、CPU6は、プロテクトモードへ移行する(ステップS2)。
【0052】
この特定の発行処理の完了を示すコマンドは、上述した設定例に従い、例えば発行処理を実行させるアプリケーション等によって定義されており、プロテクトモードへ移行するためのコマンドとして、予め設定(記憶)されている。従って、CPU6は、コマンドを受信すると、受信したコマンドが、特定の発行処理の完了を示すコマンドとして予め設定されたコマンドか否かを識別(判断)することができる。
【0053】
一方、受信したコマンドが、特定の発行処理の完了を示すコマンドとして予め設定されたコマンドでなかった場合には(ステップS1:NO)、CPU6は、受信したコマンドの処理を実行する(ステップS3)。
【0054】
次に、図4を参照して、CPU6が判断する発行処理の完了の一例として発行処理確認領域22に所定の値が書き込まれた場合に、プロテクトモードへ移行する際のCPU6の動作について説明する。
【0055】
図4は、発行処理確認領域22に所定の値が書き込まれた場合に、プロテクトモードへ移行する際のCPU6の動作を示すフローチャートである。
【0056】
図4に示すように、CPU6は、コマンドを受信し(ステップS11)、受信したコマンドが不揮発性メモリ5へのデータの書き込み処理を要求するコマンドであったと解釈すると(ステップS12)、かかる書き込み処理を要求するコマンドが、発行処理確認領域22に所定の値を書き込む要求であるか否かを判断する(ステップS13)。
【0057】
この発行処理確認領域22に所定の値を書き込む要求によって書き込まれる所定の値は、上述した設定例に従い、例えば、発行処理を実行させるアプリケーション等によって定義されており、発行処理が完了した際に書き込まれるフラグ(数値、又は記号等)として、予め設定されている。従って、CPU6は、不揮発性メモリ5へのデータの書き込み処理を要求するコマンドを受信すると、受信したコマンドに示される所定の値が、発行処理が完了した際に書き込まれるフラグであるか否かを識別することができる。
【0058】
そして、CPU6は、ステップS12で書き込まれた値が、発行処理が完了した際に書き込まれるフラグであると判断した場合には(ステップS13:YES)、プロテクトモードへ移行する(ステップS14)。
【0059】
一方、CPU6は、ステップS12で書き込まれた値が、発行処理が完了した際に書き込まれるフラグでないと判断した場合には(ステップS13:NO)、処理を終了する。
【0060】
次に、図5を参照して、プロテクトモードの設定状態と発行処理(モード)の利用可否について説明する。
【0061】
図5は、プロテクトモードの設定状態と発行処理の利用可否を示す表である。
【0062】
上述したように、発行処理確認領域22には、発行処理が実行される毎に異なる所定の値が書き込まれる。そして、CPU6は、発行処理確認領域22に、所定の値が正常に書き込まれた場合にのみ、発行処理の利用を許可する(発行処理を実行する)。
【0063】
そして、CPU6は、発行処理が完了したと判断した場合に、プロテクトモードを実行する。
【0064】
ここで、プロテクトモードが実行された後に、発行処理の利用を要求するコマンド(命令)が実行された場合、例えば、ソフトウェアは認証と同時にCPU6に、発行処理確認領域22へ、所定の値を書き込ませようとする。しかし、プロテクトモードが実行されているため、CPU6は、プロテクト設定領域21に含まれる発行処理確認領域22に、所定の値を書き込むことができない。この場合、CPU6は、発行処理が完了状態であると判断し、発行処理を実行せず処理を終了する。
【0065】
これらの関係を、図5の表に示す。
【0066】
図5に示すように、プロテクトモードは、CPU6によって発行処理が完了したと判断される前(以下、「発行処理完了前」とする。)は無効であり、CPU6によって発行処理が完了したと判断された後(以下、「発行処理完了後」とする。)は有効である。
【0067】
発行処理確認領域22への書き込みは、発行処理完了前では可能であり、発行処理完了後では不可となる。
【0068】
発行処理の利用は、発行処理完了前では可能であり、発行処理完了後では不可となる。
【0069】
これらのCPU6の動作により、認証情報(発行処理を実行するための認証、又はPIN等)を知る第三者が、発行処理完了後に発行処理を利用(実行)しようとしても、発行処理の利用を停止することができる。これにより、かかる第三者が不正に発行処理を利用することを防止することができる。
【0070】
[3.ICチップ1の動作]
次に、図6及び図7を参照して、CPU6のコマンドを受信してから処理するまでの動作について説明する。
【0071】
図6は、発行処理確認領域22に書き込まれる所定の値として数値が書き込まれる場合のCPU6のコマンドを受信してから処理するまでの動作を示すフローチャートである。
【0072】
図6に示すように、CPU6は、コマンドを受信し、受信したコマンドが発行処理の実行要求でなかった場合には(ステップS21:NO)、当該コマンドが示す処理を実行する(ステップS22)。例えば、受信したコマンドが示す処理がユーザモードの実行要求(例えば、決済サービスの処理要求)であった場合には、CPU6は、かかるユーザモードを実行する。
【0073】
一方、受信したコマンドが発行処理の実行要求であった場合には(ステップS21:YES)、CPU6は、発行処理を実行するために発行処理確認領域22へ所定の値を書き込むべく、現在、発行処理確認領域22に記憶されている値を確認する(ステップS23)。
【0074】
そして、発行処理確認領域22に記憶されている値が1であった場合には(ステップS23:YES)、CPU6は、現在、発行処理確認領域22に記憶されている値と異なる値を書き込むべく、発行処理確認領域22へ2を書き込む(ステップS24)。
【0075】
一方、発行処理確認領域22に記憶されている値が1でなかった場合には(ステップS23:NO)、CPU6は、現在、発行処理確認領域22に記憶されている値と異なる値を書き込むべく、発行処理確認領域22へ1を書き込む(ステップS25)。
【0076】
そして、CPU6は、発行処理確認領域22への書き込みが正常に終了したか否かを判断する(ステップS26)。
【0077】
発行処理確認領域22への書き込みが正常に終了した場合には(ステップS26:YES)、CPU6は、発行処理を実行する(ステップS27)。
【0078】
この場合、上述したプロテクトモードが実行されていないため、発行処理確認領域22への値の書き込みが制限されていない。従って、CPU6は、発行処理を実行するようになっている。
【0079】
一方、発行処理確認領域22への書き込みが正常に終了しなかった場合には(ステップS26:NO)、CPU6は、不正対応処理を実行する(ステップS28)。
【0080】
上述したように、プロテクトモードが実行されている場合には、発行処理確認領域22へ値(情報やデータ)を書き込むことはできない。従って、この場合、CPU6は、第三者による不正な発行処理の利用と判断し、不正対応処理を実行するようになっている。
【0081】
不正対応処理とは、発行処理の実行を停止するためのものであり、例えば、一時的なICカード8(CPU6)の動作の停止や、ICカード8に備えられるユーザモードへの切り替え、ICカード8を破壊するためのコード領域の破壊等を適用することができるが、これに限定されず、任意に設定することができる。
【0082】
次に、図7を参照して、発行処理確認領域22に書き込まれる所定の値として、乱数が書き込まれる場合のCPU6のコマンドを受信してから処理するまでの動作について説明する。
【0083】
図7は、発行処理確認領域22に書き込まれる所定の値として、乱数が書き込まれる場合のCPU6のコマンドを受信してから処理するまでの動作を示すフローチャートである。
【0084】
図7に示すように、CPU6は、コマンドを受信し、受信したコマンドが発行処理の実行要求でなかった場合には(ステップS31:NO)、当該コマンドが示す処理を実行する(ステップS32)。
【0085】
一方、受信したコマンドが発行処理の実行要求であった場合には(ステップS31:YES)、CPU6は、発行処理を実行するために発行処理確認領域22へ所定の値としての乱数を書き込むべく、乱数を生成する(ステップS33)。
【0086】
そして、CPU6は、現在、発行処理確認領域22に記憶されている値を確認する(ステップS34)。
【0087】
そして、発行処理確認領域22に記憶されている値が生成した乱数と同じであった場合には(ステップS34:YES)、CPU6は、現在、発行処理確認領域22に記憶されている値と異なる値を書き込むべく、再度、乱数を生成する(ステップS33)。
【0088】
一方、発行処理確認領域22に記憶されている値が生成した乱数と同じでなかった場合には(ステップS34:NO)、CPU6は、発行処理確認領域22へ生成した乱数を書き込む(ステップS35)。
【0089】
そして、CPU6は、発行処理確認領域22への書き込みが正常に終了したか否かを判断する(ステップS36)。
【0090】
発行処理確認領域22への書き込みが正常に終了した場合には(ステップS36:YES)、CPU6は、発行処理を実行する(ステップS37)。
【0091】
一方、発行処理確認領域22への書き込みが正常に終了しなかった場合には(ステップS36:NO)、CPU6は、不正対応処理を実行する(ステップS38)。
【0092】
以上説明したように、本実施形態におけるICチップ1は、保護されるべきデータが記憶されるプロテクト設定領域21と、プロテクト設定領域21に設けられ、発行処理の実行要求に応じて、所定の値が書き込まれる発行処理確認領域22が設定される不揮発性メモリ5と、発行処理確認領域22に所定の値が書き込まれた場合に、発行処理を行い、特定の発行処理が完了した場合に、プロテクト設定領域21に対するデータを保護するように構成したため、プロテクト設定領域21に記憶されたデータの安全性を担保することができる。また、ICカードが市場に出た後に、認証情報を知る第三者が、発行処理完了後に発行処理を利用しようとしても、発行処理の利用を停止することができるため、プロテクト設定領域21に記憶されたデータの安全性を担保することができる。さらに、発行処理が完了した後は、発行処理が完了した後には、プロテクト設定領域21に記憶されたデータの読み出しや書き込みが防止されるため、プロテクト設定領域21に記憶されたデータの安全性を担保することができる。なお、以上説明した実施形態は特許請求の範囲に係る発明を限定するものではない。そして、上記実施形態の中で説明されている構成の組み合わせ全てが発明の課題解決に必須の手段であるとは限らない。
【符号の説明】
【0093】
1 ICチップ
2 I/O回路
3 ROM
4 RAM
5 不揮発性メモリ
6 CPU
7 カード基体
8 ICカード

【特許請求の範囲】
【請求項1】
保護されるべきデータが記憶されるプロテクト設定領域と、
前記プロテクト設定領域に設けられ、発行処理の実行要求に応じて、所定の値が書き込まれる発行処理確認領域が設定される記憶部と、
前記発行処理確認領域に所定の値が書き込まれた場合に、発行処理を行う発行処理手段と、
特定の発行処理が完了した場合に、前記プロテクト設定領域に対するデータを保護する保護手段と、
を備えることを特徴とするICチップ。
【請求項2】
請求項1に記載のICチップであって、
前記保護は、前記プロテクト設定領域に対するアクセスを制限して、当該プロテクト領域に対するデータの読み出し又は書き込みを禁止することを特徴とするICチップ。
【請求項3】
請求項1又は2に記載のICチップと、ICカード基体と、を備えることを特徴とするICカード。
【請求項4】
保護されるべきデータが記憶されるプロテクト設定領域と、
前記プロテクト設定領域に設けられ、発行処理の実行要求に応じて、所定の値が書き込まれる発行処理確認領域が設定される記憶部を備えるICチップにおけるデータ保護方法であって、
前記発行処理確認領域に所定の値が書き込まれた場合に、発行処理を行う発行処理工程と、
特定の発行処理が完了した場合に、前記プロテクト設定領域に対するデータを保護する保護工程と、
を有することを特徴とするデータ保護方法。
【請求項5】
保護されるべきデータが記憶されるプロテクト設定領域と、
前記プロテクト設定領域に設けられ、発行処理の実行要求に応じて、所定の値が書き込まれる発行処理確認領域が設定される記憶部を備えるICチップに含まれるコンピュータを、
前記発行処理確認領域に所定の値が書き込まれた場合に、発行処理を行う発行処理手段、
特定の発行処理が完了した場合に、前記プロテクト設定領域に対するデータを保護する保護手段、
として機能させることを特徴とするデータ保護プログラム。
【請求項6】
保護されるべきデータが記憶されるプロテクト設定領域と、
前記プロテクト設定領域に設けられ、発行処理の実行要求に応じて、所定の値が書き込まれる発行処理確認領域が設定される記憶部を備えるICチップに含まれるコンピュータを、
前記発行処理確認領域に所定の値が書き込まれた場合に、発行処理を行う発行処理手段、
特定の発行処理が完了した場合に、前記プロテクト設定領域に対するデータを保護する保護手段、
として機能させることを特徴とするデータ保護プログラムが読み取り可能に記憶される記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate