(57)【特許請求の範囲】
【請求項１】
発行処理により設定されるデータを記憶するプロテクト設定領域を有するメモリと、
発行処理の実行要求に応じて発行処理を行う発行処理手段と、
を備えるＩＣチップであって、
前記プロテクト設定領域は発行処理確認領域を含み、
特定の発行処理が完了した場合に、前記発行処理確認領域のデータの書き込みを禁止する保護手段を、更に含み、
前記発行処理手段は、前記発行処理を行う前に前記発行処理確認領域に対して書き込みを行って当該書き込みが正常に終了した場合に、前記発行処理を行うことを特徴とするＩＣチップ。
【請求項２】
請求項１に記載のＩＣチップと、ＩＣカード基体と、を備えることを特徴とするＩＣカード。
【請求項３】
発行処理により設定されるデータを記憶するプロテクト設定領域と当該プロテクト設定領域内に発行処理確認領域を有するメモリを備えるＩＣチップによる情報処理方法であって、
発行処理の実行要求に応じて発行処理を行う発行処理工程と、
特定の発行処理が完了した場合に、前記発行処理確認領域のデータの書き込みを禁止する保護工程と、含み、
前記発行処理工程では、前記発行処理を行う前に前記発行処理確認領域に対して書き込みを行って当該書き込みが正常に終了した場合に、前記発行処理を行うことを特徴とする情報処理方法。
【請求項４】
発行処理により設定されるデータを記憶するプロテクト設定領域と当該プロテクト設定領域内に発行処理確認領域を有するメモリを備えるＩＣチップに含まれるコンピュータを、
発行処理の実行要求に応じて発行処理を行う発行処理手段、
特定の発行処理が完了した場合に、前記発行処理確認領域のデータの書き込みを禁止する保護手段、
として機能させ、
前記発行処理手段として機能させる場合には、前記発行処理を行う前に前記発行処理確認領域に対して書き込みを行って当該書き込みが正常に終了した場合に、前記発行処理を行わせる情報処理プログラム。
【請求項５】
発行処理により設定されるデータを記憶するプロテクト設定領域と当該プロテクト設定領域内に発行処理確認領域を有するメモリを備えるＩＣチップに含まれるコンピュータを、
発行処理の実行要求に応じて発行処理を行う発行処理手段、
特定の発行処理が完了した場合に、前記発行処理確認領域のデータの書き込みを禁止する保護手段、
として機能させ、
前記発行処理手段として機能させる場合には、前記発行処理を行う前に前記発行処理確認領域に対して書き込みを行って当該書き込みが正常に終了した場合に、前記発行処理を行わせる情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを保護する装置及び方法等の技術分野に関する。
【背景技術】
【０００２】
金融・通信・交通分野等の様々なサービスに利用されるＩＣチップが搭載されたＩＣカードには、各サービスで要求される処理を実行するために、所定のモード（動作モード）が備えられている。
【０００３】
このモードの一例として、ＩＣカード利用者の個人情報の書き込みや、所定のモードにおける処理に必要なアプリケーションや情報の書き込みを行う発行処理が実行されるモード（以下、単に「発行処理モード」又は「発行処理」と称する。）と、ＩＣカードが利用者の手元に届いた後に、例えばＩＣチップの記憶部等に記録（書き込み）されたアプリケーションの動作によって、当該利用者が提供を望む上記サービスに応じた処理が実行されるユーザーモードが存在する。
【０００４】
この発行処理は、ＩＣカードの製造者や上記サービスの提供者等によって利用されるものであり、例えば、上記サービスに応じた処理を実行するためのアプリケーションの登録（記録）や、クレジット機能や携帯電話の機能（例えば、データ通信、又は通話機能等）において使用される鍵（暗証番号等）等の重要情報を書き変えることが可能となっている。従って、ＩＣカード利用者の手に渡った後に、発行処理モードが利用できてしまうと、上記ＩＣカードの製造者や上記サービスの提供者等以外の第三者によって、不正なプログラムの書き込みや、鍵の変更（読み出し、又は書き換え等を含む）が可能となってしまう。そのため、ＩＣカードの製造者や上記サービスの提供者等によって、発行処理モードが利用され所定の処理が完了した後に、発行処理モードが動作することはセキュリティ上好ましくない。
【０００５】
そこで、通常のＩＣカードでは、発行処理モードを利用するためには、所定の認証処理（例えば、パスワードによる認証（ＰＩＮ照合等））を必要とするなどの措置を講じている。
【０００６】
また、特許文献１では、システム領域に書き込まれたデータから所定の演算課程により算出されたチェックデータに基づいて発行前状態または発行後状態を判定し、発行前状態である場合にのみメモリへプログラムを書き込む技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４４５７５７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、パスワードによる認証においては、認証情報（パスワード）が漏洩したり、推測された場合に発行処理モードが利用可能となってしまい、発行処理が完了した後にＩＣチップに記憶されたデータが、第三者に読み出されてしまう虞があり、ＩＣチップに記憶されたデータの安全性を担保することはできなかった。
【０００９】
また、特許文献１で開示された技術では、発行処理が完了した後にＩＣチップに記憶されたデータが、第三者に読み出されてしまう虞があり、やはり、ＩＣチップに記憶されたデータの安全性を担保することはできなかった。
【００１０】
そこで、本発明は、このような問題点等に鑑みてなされたものであり、ＩＣチップに記憶されたデータの安全性を担保することができるＩＣチップ、データ保護方法、データ保護プログラム、ＩＣカード及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、請求項１に記載の発明は、発行処理により設定されるデータを記憶するプロテクト設定領域を有するメモリと、
発行処理の実行要求に応じて発行処理を行う発行処理手段と、を備えるＩＣチップであって、前記プロテクト設定領域は発行処理確認領域を含み、特定の発行処理が完了した場合に、前記発行処理確認領域のデータの書き込みを禁止する保護手段、を更に含み、前記発行処理手段は、前記発行処理を行う前に前記発行処理確認領域に対して書き込みを行って当該書き込みが正常に終了した場合に、前記発行処理を行うことを特徴とする。
【００１２】
この発明によれば、ＩＣチップに記憶されたデータの安全性を担保することができる。
【００１５】
請求項２に記載の発明は、請求項１に記載のＩＣチップと、ＩＣカード基体と、を備えることを特徴とする。
【００１６】
請求項３に記載の発明は、発行処理により設定されるデータを記憶するプロテクト設定領域と当該プロテクト設定領域内に発行処理確認領域を有するメモリを備えるＩＣチップによる情報処理方法であって、発行処理の実行要求に応じて発行処理を行う発行処理工程と、特定の発行処理が完了した場合に、前記発行処理確認領域のデータの書き込みを禁止する保護工程と、含み、前記発行処理工程では、前記発行処理を行う前に前記発行処理確認領域に対して書き込みを行って当該書き込みが正常に終了した場合に、前記発行処理を行うことを特徴とする。
【００１７】
請求項４に記載の発明は、発行処理により設定されるデータを記憶するプロテクト設定領域と当該プロテクト設定領域内に発行処理確認領域を有するメモリを備えるＩＣチップに含まれるコンピュータを、発行処理の実行要求に応じて発行処理を行う発行処理手段、特定の発行処理が完了した場合に、前記発行処理確認領域のデータの書き込みを禁止する保護手段、として機能させ、前記発行処理手段として機能させる場合には、前記発行処理を行う前に前記発行処理確認領域に対して書き込みを行って当該書き込みが正常に終了した場合に、前記発行処理を行わせる情報処理プログラムである。
【００１８】
請求項５に記載の発明は、発行処理により設定されるデータを記憶するプロテクト設定領域と当該プロテクト設定領域内に発行処理確認領域を有するメモリを備えるＩＣチップに含まれるコンピュータを、発行処理の実行要求に応じて発行処理を行う発行処理手段、特定の発行処理が完了した場合に、前記発行処理確認領域のデータの書き込みを禁止する保護手段、として機能させ、前記発行処理手段として機能させる場合には、前記発行処理を行う前に前記発行処理確認領域に対して書き込みを行って当該書き込みが正常に終了した場合に、前記発行処理を行わせる情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１９】
本発明によれば、特定の発行処理が完了した場合に、データを保護するため、ＩＣチップに記憶されたデータの安全性を担保することができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係るＩＣカードの構成及び機能概要を示すブロック図である。
【図２】本実施形態に係る不揮発性メモリ５の記憶領域の構造を示す概念図である。
【図３】特定の発行処理の完了を示すコマンドを受信した場合に、プロテクトモードへ移行する際のＣＰＵ６の動作を示すフローチャートである。
【図４】発行処理確認領域２２に所定の値が書き込まれた場合に、プロテクトモードへ移行する際のＣＰＵ６の動作を示すフローチャートである。
【図５】プロテクトモードの設定状態と発行処理の利用可否を示す表である。
【図６】発行処理確認領域２２に書き込まれる所定の値として数値が書き込まれる場合のＣＰＵ６のコマンドを受信してから処理するまでの動作を示すフローチャートである。
【図７】発行処理確認領域２２に書き込まれる所定の値として、乱数が書き込まれる場合のＣＰＵ６のコマンドを受信してから処理するまでの動作を示すフローチャートである。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、発行処理や所定の動作を実行させるプログラムが搭載されたＩＣカードに対して本発明を適用した場合の実施の形態である。
【００２２】
［１． ＩＣカードのハードウェア構成及び機能概要］
まず、図１を参照して、本願のＩＣカードのハードウェア構成及び機能概要について説明する。
【００２３】
図１は、本実施形態に係るＩＣカードの構成及び機能概要を示すブロック図である。
【００２４】
図１に示すように、ＩＣカード８は、ＩＣチップ１をカード基体７に備えている。
【００２５】
そして、ＩＣチップ１は、Ｉ／Ｏ回路２、ＲＯＭ（Read Only Memory）３、ＲＡＭ（Random Access Memory）４、不揮発性メモリ５（本願の記憶部の一例）、ＣＰＵ(Central Processing Unit)６等を備えて構成されている。なお、Ｉ／Ｏ回路２を介した外部機器とのデータ通信は、接触方式と非接触方式（ＴｙｐｅＡ、ＴｙｐｅＢ、Ｆｅｌｉｃａ（登録商標）方式、ＮＦＣ規格等）の何れの方式であってもよい（例えば、ＩＳＯ７８１６、ＩＳＯ１４４４３、ＩＳＯ１８０９２、又はＥＴＳＩ  ＴＳ  １０２等に準拠）。Ｉ／Ｏ回路２は、図示しない外部機器とデータ通信するための処理回路である。ＲＯＭ３は、ＣＰＵ６によって実行されるべきプログラムが記憶されており、ＣＰＵ６は、このプログラムに基づいてＩＣチップ１を統括的に制御する。
【００２６】
また、ＲＯＭ３に記憶されるプログラムとしては、カードＯＳ（本願のオペレーティングシステムの一例）、発行処理や鉄道及びバス等の交通機関のプリペイドカード及び定期券、クレジットカードや電子マネー等の決済サービス、施設の入退出管理等の所定のサービスをＣＰＵ６等に実行させる複数種類のアプリケーションプログラム、及び本発明のデータ保護プログラムがある。なお、本発明のデータ保護プログラムは、カードＯＳ又はアプリケーションプログラムの一機能として組み込まれてもよい。また、これらのプログラムは、不揮発性メモリ５に記憶されるようにしてもよい。
【００２７】
ＲＡＭ４は、ＣＰＵ６がＩＣチップ１を統括的に制御等するために作業領域として使用する記憶領域である。
【００２８】
不揮発性メモリ５は、不揮発性半導体メモリの一種（例えば、フラッシュメモリやＥＥＰＲＯＭ（登録商標）等）であり、記憶領域に記憶されるデータを消去し、何度でも再記憶ができるＰＲＯＭ(Programmable Rom)である。そして、不揮発性メモリ５は、例えば、各領域にアドレスが付されており、所定の領域を１のページとして、一又は複数のページに区画されている。そして、例えば、ＣＰＵ６は、カードＯＳやアプリケーションの制御のもと、不揮発性メモリ５のどの領域に、どのようなデータやプログラムが記憶されているか識別することができる。さらに、ＣＰＵ６は、カードＯＳやアプリケーションの制御のもと、不揮発性メモリ５の領域のうち、所定の領域に区切られた領域を他の領域と識別するための識別子（例えば、後述するプロテクト設定領域２１や発行処理確認領域２２等の領域名称等）を付して管理することもできる。
【００２９】
ここで、図２を用いて、本実施形態に係る不揮発性メモリ５の記憶領域の構造について説明する。
【００３０】
図２は、本実施形態に係る不揮発性メモリ５の記憶領域の構造を示す概念図である。
【００３１】
図２に示すように、本実施形態に係る不揮発性メモリ５の記憶領域（メモリ空間）には、プロテクト設定領域２１と、発行処理確認領域２２が設定されている。
【００３２】
ここで、プロテクト設定領域２１と、発行処理確認領域２２について説明する。
【００３３】
上述したように、ＩＣチップ１では、所定のプログラムの制御のもと、発行処理が実行される。
【００３４】
一般的に、ＩＣチップにおける発行処理では、ＩＣカード製造者（メーカー）や、サービスの提供者のもとで、細分化された一又は複数の発行処理が、所定の順番で実行されるようになっている。
【００３５】
具体的には、細分化された一又は複数の発行処理として、製造段階、０次発行、１次発行、２次発行と称される各発行処理が、順番に実行される。
【００３６】
この各発行処理の処理内容について説明すると、例えば、製造段階では、ＩＣチップ１の製造に関する処理が行われ、具体的には、カードＯＳ等がＲＯＭ３等に記憶される。０次発行では、ＩＣチップ１の個別化に関する処理が実行され、具体的には、ＩＣチップ１の初期化、ＩＣチップを他のＩＣチップと識別するための識別子等が記憶される。１次発行では、ＩＣチップ１のＡＰ設定（ＩＣチップ１に記憶される所定のアプリケーションの設定）に関する処理が実行され、具体的には、不揮発性メモリ５のフォーマット、所定のアプリケーションを不揮発性メモリ５へ記憶させるために必要な初期設定情報・領域確保等の処理、所定のアプリケーションの記憶（書き込み）等が行われる。２次発行では、ＩＣチップ１のパーソナライズ（ユーザの使用態様等を考慮して最適化されたＩＣチップ１を提供するための処理）に関する処理が実行され、ＩＣカード８を利用するユーザの個人用の設定や個人情報の登録、ＰＩＮ（Personal Identification Number、暗証番号）やバイオメトリクス情報（指紋等の身体・行動的特徴）等の認証用の情報が記憶される。
【００３７】
本実施形態におけるプロテクト設定領域２１とは、保護されるべきデータが記憶される領域であり、発行処理確認領域２２を含んで設定される。
【００３８】
このプロテクト設定領域２１に記憶されるデータは、上記発行処理において記憶される情報やアプリケーションが想定され、例えば、上記発行処理やＡＰ設定等が実行されるためのアプリケーション自体や、ＩＣチップ１の識別子、ＩＣカード８を利用するユーザの個人用の設定、個人情報の登録、ＰＩＮ、バイオメトリクス情報等の認証用の情報等、第三者による読み出しや改竄を防止（秘匿性を担保）すべき重要な情報が想定される。
【００３９】
そして、本実施形態における発行処理確認領域２２とは、発行処理の実行要求に応じて所定の値が書き込まれる領域である。
【００４０】
例えば、上述した製造段階、０次発行、１次発行、２次発行と称される各発行処理の実行を要求するコマンドが入力される度に、発行処理確認領域２２に、異なる値が書き込まれるようになっている。
【００４１】
そして、詳しくは後述するが、本実施形態におけるＣＰＵ６は、発行処理確認領域２２に所定の値が書き込まれた場合に、発行処理を行うようになっている。
【００４２】
なお、所定の値は、例えば、数値（例えば、１６進数、乱数等）や記号等が適用されるが、任意の値を適用することができる。また、細分化された一又は複数の発行処理としては、上述した例に限られず、例えば、製造者等の仕様に応じて任意に細分化（設定）することができる。
【００４３】
ＣＰＵ６は、上述したようにプログラムに基づいてＩＣチップ１全体の動作を統括的に制御するとともに、その機能の一部として、本願の発行処理手段、及び保護手段等として機能する。
【００４４】
［２.プロテクトモードに移行する際のＣＰＵ６の動作］
次に、図３〜図５を参照して、プロテクトモードへ移行する際のＣＰＵ６の動作について説明する。
【００４５】
上述したように、発行処理では、第三者による読み出しや改竄を防止すべき重要な情報が記憶され、また、サービス提供に必要なアプリケーションが記憶される。そして、ＩＣカードが市場に流通した後に、これらの情報が第三者によって読み出されてしまうと、これらの情報やアプリケーションの安全性を担保することができない。また、ＩＣカードが市場に流通した後に発行処理が実行されてしまうと、これらの情報やアプリケーションが、が第三者によって読み出され、改ざんされ、又は消去される虞がある。
【００４６】
そこで、本実施形態に係るＣＰＵ６は、発行処理確認領域２２に所定の値が書き込まれた場合に、発行処理を行い、特定の発行処理が完了した場合に、プロテクト設定領域２１に記憶されたデータを保護するようになっている。以下、ＣＰＵ６における特定の発行処理が完了した場合のプロテクト設定領域２１に記憶されたデータを保護する動作を、「プロテクトモード」と称する。
【００４７】
ここで、ＣＰＵ６が判断する発行処理の完了とは、ＩＣチップ製造者やサービス提供者による発行処理が完了したことを想定できる処理（動作）を示し、例えば、発行処理確認領域２２に所定の値が書き込まれた場合（例えば、上述した製造段階、０次発行、１次発行、又は２次発行等の何れかの発行処理の完了を示すフラグが書き込まれた場合等）や、特定の発行処理の完了（例えば、上述した製造段階、０次発行、１次発行、又は２次発行の何れかの発行処理の完了）を示すコマンドを受信した場合、又は、所定の回数の発行処理が完了した場合等の処理等を想定することができる。そして、ＣＰＵ６は、これらの処理を検出した場合には、発行処理が完了したと判断するようになっている。
【００４８】
また、プロテクト設定領域２１に記憶されたデータを保護とは、例えば、ソフトウェア又はハードウェア（スイッチ）の制御によって、プロテクト設定領域２１に対するアクセスを制限して、プロテクト設定領域２１に記憶されたデータの読み出し又は書き込みを禁止することをいう。かかる保護の方法は公知であるため詳しい説明は省略するが、例えば、公知文献（特開２００５−８５３９８号公報等）に開示されるように、ハードウェアスイッチ又はソフトウェアスイッチによってプロテクト設定領域２１に対するアクセスを制限するようにしても良いし、不揮発性メモリ５の特定領域をプロテクタするステータスレジスタ（ビット）の設定により、かかる特定領域を読み出し専用（Read only）又は、読み書き禁止とするようにしても良い。
【００４９】
ここで、図３を参照して、ＣＰＵ６が判断する発行処理の完了の一例として特定の発行処理の完了を示すコマンドを受信した場合に、プロテクトモードへ移行する際のＣＰＵ６の動作について説明する。
【００５０】
図３は、特定の発行処理の完了を示すコマンドを受信した場合に、プロテクトモードへ移行する際のＣＰＵ６の動作を示すフローチャートである。
【００５１】
図３に示すように、ＣＰＵ６は、特定の発行処理の完了を示すコマンドとして予め設定されたコマンドを受信した場合には（ステップＳ１：ＹＥＳ）、ＣＰＵ６は、プロテクトモードへ移行する（ステップＳ２）。
【００５２】
この特定の発行処理の完了を示すコマンドは、上述した設定例に従い、例えば発行処理を実行させるアプリケーション等によって定義されており、プロテクトモードへ移行するためのコマンドとして、予め設定（記憶）されている。従って、ＣＰＵ６は、コマンドを受信すると、受信したコマンドが、特定の発行処理の完了を示すコマンドとして予め設定されたコマンドか否かを識別（判断）することができる。
【００５３】
一方、受信したコマンドが、特定の発行処理の完了を示すコマンドとして予め設定されたコマンドでなかった場合には（ステップＳ１：ＮＯ）、ＣＰＵ６は、受信したコマンドの処理を実行する（ステップＳ３）。
【００５４】
次に、図４を参照して、ＣＰＵ６が判断する発行処理の完了の一例として発行処理確認領域２２に所定の値が書き込まれた場合に、プロテクトモードへ移行する際のＣＰＵ６の動作について説明する。
【００５５】
図４は、発行処理確認領域２２に所定の値が書き込まれた場合に、プロテクトモードへ移行する際のＣＰＵ６の動作を示すフローチャートである。
【００５６】
図４に示すように、ＣＰＵ６は、コマンドを受信し（ステップＳ１１）、受信したコマンドが不揮発性メモリ５へのデータの書き込み処理を要求するコマンドであったと解釈すると（ステップＳ１２）、かかる書き込み処理を要求するコマンドが、発行処理確認領域２２に所定の値を書き込む要求であるか否かを判断する（ステップＳ１３）。
【００５７】
この発行処理確認領域２２に所定の値を書き込む要求によって書き込まれる所定の値は、上述した設定例に従い、例えば、発行処理を実行させるアプリケーション等によって定義されており、発行処理が完了した際に書き込まれるフラグ（数値、又は記号等）として、予め設定されている。従って、ＣＰＵ６は、不揮発性メモリ５へのデータの書き込み処理を要求するコマンドを受信すると、受信したコマンドに示される所定の値が、発行処理が完了した際に書き込まれるフラグであるか否かを識別することができる。
【００５８】
そして、ＣＰＵ６は、ステップＳ１２で書き込まれた値が、発行処理が完了した際に書き込まれるフラグであると判断した場合には（ステップＳ１３：ＹＥＳ）、プロテクトモードへ移行する（ステップＳ１４）。
【００５９】
一方、ＣＰＵ６は、ステップＳ１２で書き込まれた値が、発行処理が完了した際に書き込まれるフラグでないと判断した場合には（ステップＳ１３：ＮＯ）、処理を終了する。
【００６０】
次に、図５を参照して、プロテクトモードの設定状態と発行処理（モード）の利用可否について説明する。
【００６１】
図５は、プロテクトモードの設定状態と発行処理の利用可否を示す表である。
【００６２】
上述したように、発行処理確認領域２２には、発行処理が実行される毎に異なる所定の値が書き込まれる。そして、ＣＰＵ６は、発行処理確認領域２２に、所定の値が正常に書き込まれた場合にのみ、発行処理の利用を許可する（発行処理を実行する）。
【００６３】
そして、ＣＰＵ６は、発行処理が完了したと判断した場合に、プロテクトモードを実行する。
【００６４】
ここで、プロテクトモードが実行された後に、発行処理の利用を要求するコマンド（命令）が実行された場合、例えば、ソフトウェアは認証と同時にＣＰＵ６に、発行処理確認領域２２へ、所定の値を書き込ませようとする。しかし、プロテクトモードが実行されているため、ＣＰＵ６は、プロテクト設定領域２１に含まれる発行処理確認領域２２に、所定の値を書き込むことができない。この場合、ＣＰＵ６は、発行処理が完了状態であると判断し、発行処理を実行せず処理を終了する。
【００６５】
これらの関係を、図５の表に示す。
【００６６】
図５に示すように、プロテクトモードは、ＣＰＵ６によって発行処理が完了したと判断される前（以下、「発行処理完了前」とする。）は無効であり、ＣＰＵ６によって発行処理が完了したと判断された後（以下、「発行処理完了後」とする。）は有効である。
【００６７】
発行処理確認領域２２への書き込みは、発行処理完了前では可能であり、発行処理完了後では不可となる。
【００６８】
発行処理の利用は、発行処理完了前では可能であり、発行処理完了後では不可となる。
【００６９】
これらのＣＰＵ６の動作により、認証情報（発行処理を実行するための認証、又はＰＩＮ等）を知る第三者が、発行処理完了後に発行処理を利用（実行）しようとしても、発行処理の利用を停止することができる。これにより、かかる第三者が不正に発行処理を利用することを防止することができる。
【００７０】
［３.ＩＣチップ１の動作］
次に、図６及び図７を参照して、ＣＰＵ６のコマンドを受信してから処理するまでの動作について説明する。
【００７１】
図６は、発行処理確認領域２２に書き込まれる所定の値として数値が書き込まれる場合のＣＰＵ６のコマンドを受信してから処理するまでの動作を示すフローチャートである。
【００７２】
図６に示すように、ＣＰＵ６は、コマンドを受信し、受信したコマンドが発行処理の実行要求でなかった場合には（ステップＳ２１：ＮＯ）、当該コマンドが示す処理を実行する（ステップＳ２２）。例えば、受信したコマンドが示す処理がユーザモードの実行要求（例えば、決済サービスの処理要求）であった場合には、ＣＰＵ６は、かかるユーザモードを実行する。
【００７３】
一方、受信したコマンドが発行処理の実行要求であった場合には（ステップＳ２１：ＹＥＳ）、ＣＰＵ６は、発行処理を実行するために発行処理確認領域２２へ所定の値を書き込むべく、現在、発行処理確認領域２２に記憶されている値を確認する（ステップＳ２３）。
【００７４】
そして、発行処理確認領域２２に記憶されている値が１であった場合には（ステップＳ２３：ＹＥＳ）、ＣＰＵ６は、現在、発行処理確認領域２２に記憶されている値と異なる値を書き込むべく、発行処理確認領域２２へ２を書き込む（ステップＳ２４）。
【００７５】
一方、発行処理確認領域２２に記憶されている値が１でなかった場合には（ステップＳ２３：ＮＯ）、ＣＰＵ６は、現在、発行処理確認領域２２に記憶されている値と異なる値を書き込むべく、発行処理確認領域２２へ１を書き込む（ステップＳ２５）。
【００７６】
そして、ＣＰＵ６は、発行処理確認領域２２への書き込みが正常に終了したか否かを判断する（ステップＳ２６）。
【００７７】
発行処理確認領域２２への書き込みが正常に終了した場合には（ステップＳ２６：ＹＥＳ）、ＣＰＵ６は、発行処理を実行する（ステップＳ２７）。
【００７８】
この場合、上述したプロテクトモードが実行されていないため、発行処理確認領域２２への値の書き込みが制限されていない。従って、ＣＰＵ６は、発行処理を実行するようになっている。
【００７９】
一方、発行処理確認領域２２への書き込みが正常に終了しなかった場合には（ステップＳ２６：ＮＯ）、ＣＰＵ６は、不正対応処理を実行する（ステップＳ２８）。
【００８０】
上述したように、プロテクトモードが実行されている場合には、発行処理確認領域２２へ値（情報やデータ）を書き込むことはできない。従って、この場合、ＣＰＵ６は、第三者による不正な発行処理の利用と判断し、不正対応処理を実行するようになっている。
【００８１】
不正対応処理とは、発行処理の実行を停止するためのものであり、例えば、一時的なＩＣカード８（ＣＰＵ６）の動作の停止や、ＩＣカード８に備えられるユーザモードへの切り替え、ＩＣカード８を破壊するためのコード領域の破壊等を適用することができるが、これに限定されず、任意に設定することができる。
【００８２】
次に、図７を参照して、発行処理確認領域２２に書き込まれる所定の値として、乱数が書き込まれる場合のＣＰＵ６のコマンドを受信してから処理するまでの動作について説明する。
【００８３】
図７は、発行処理確認領域２２に書き込まれる所定の値として、乱数が書き込まれる場合のＣＰＵ６のコマンドを受信してから処理するまでの動作を示すフローチャートである。
【００８４】
図７に示すように、ＣＰＵ６は、コマンドを受信し、受信したコマンドが発行処理の実行要求でなかった場合には（ステップＳ３１：ＮＯ）、当該コマンドが示す処理を実行する（ステップＳ３２）。
【００８５】
一方、受信したコマンドが発行処理の実行要求であった場合には（ステップＳ３１：ＹＥＳ）、ＣＰＵ６は、発行処理を実行するために発行処理確認領域２２へ所定の値としての乱数を書き込むべく、乱数を生成する（ステップＳ３３）。
【００８６】
そして、ＣＰＵ６は、現在、発行処理確認領域２２に記憶されている値を確認する（ステップＳ３４）。
【００８７】
そして、発行処理確認領域２２に記憶されている値が生成した乱数と同じであった場合には（ステップＳ３４：ＹＥＳ）、ＣＰＵ６は、現在、発行処理確認領域２２に記憶されている値と異なる値を書き込むべく、再度、乱数を生成する（ステップＳ３３）。
【００８８】
一方、発行処理確認領域２２に記憶されている値が生成した乱数と同じでなかった場合には（ステップＳ３４：ＮＯ）、ＣＰＵ６は、発行処理確認領域２２へ生成した乱数を書き込む（ステップＳ３５）。
【００８９】
そして、ＣＰＵ６は、発行処理確認領域２２への書き込みが正常に終了したか否かを判断する（ステップＳ３６）。
【００９０】
発行処理確認領域２２への書き込みが正常に終了した場合には（ステップＳ３６：ＹＥＳ）、ＣＰＵ６は、発行処理を実行する（ステップＳ３７）。
【００９１】
一方、発行処理確認領域２２への書き込みが正常に終了しなかった場合には（ステップＳ３６：ＮＯ）、ＣＰＵ６は、不正対応処理を実行する（ステップＳ３８）。
【００９２】
以上説明したように、本実施形態におけるＩＣチップ１は、保護されるべきデータが記憶されるプロテクト設定領域２１と、プロテクト設定領域２１に設けられ、発行処理の実行要求に応じて、所定の値が書き込まれる発行処理確認領域２２が設定される不揮発性メモリ５と、発行処理確認領域２２に所定の値が書き込まれた場合に、発行処理を行い、特定の発行処理が完了した場合に、プロテクト設定領域２１に対するデータを保護するように構成したため、プロテクト設定領域２１に記憶されたデータの安全性を担保することができる。また、ＩＣカードが市場に出た後に、認証情報を知る第三者が、発行処理完了後に発行処理を利用しようとしても、発行処理の利用を停止することができるため、プロテクト設定領域２１に記憶されたデータの安全性を担保することができる。さらに、発行処理が完了した後は、発行処理が完了した後には、プロテクト設定領域２１に記憶されたデータの読み出しや書き込みが防止されるため、プロテクト設定領域２１に記憶されたデータの安全性を担保することができる。なお、以上説明した実施形態は特許請求の範囲に係る発明を限定するものではない。そして、上記実施形態の中で説明されている構成の組み合わせ全てが発明の課題解決に必須の手段であるとは限らない。
【符号の説明】
【００９３】
１  ＩＣチップ
２  Ｉ／Ｏ回路
３  ＲＯＭ
４  ＲＡＭ
５  不揮発性メモリ
６  ＣＰＵ
７  カード基体
８  ＩＣカード
【図１】
0005998452.tif 000002
【図２】
0005998452.tif 000003
【図３】
0005998452.tif 000004
【図４】
0005998452.tif 000005
【図５】
0005998452.tif 000006
【図６】
0005998452.tif 000007
【図７】
0005998452.tif 000008