(57)【要約】【課題】よりセキュリティ性の高いＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供する。【解決手段】一実施形態に係るＩＣカードは、外部機器から入力されるコマンドに応じて処理を行うＩＣカードであって、前記外部機器から送信されたコマンドを受信する受信部と、書込み処理を行う為の第１の書込みプログラムを記憶する読み出し専用メモリと、前記第１の書込みプログラムによる書込みを許可する第１の記憶領域と、前記第１の書込みプログラムによる書込みを制限する第２の記憶領域と、を有する不揮発性メモリと、前記第１の書込みプログラムを実行し、前記コマンドに応じて前記第２の記憶領域への書込み処理を行う為の第２の書込みプログラムを前記第１の記憶領域に書き込む第１のコマンド処理部と、前記コマンドに応じて前記第２の書込みプログラムを実行し、前記コマンドに応じたデータを前記第２の記憶領域に書き込む第２のコマンド処理部と、を具備する。【選択図】図２
2014032601.tif 000002
【特許請求の範囲】
【請求項１】
外部機器から入力されるコマンドに応じて処理を行うＩＣカードであって、
前記外部機器から送信されたコマンドを受信する受信部と、
書込み処理を行う為の第１の書込みプログラムを記憶する読み出し専用メモリと、
前記第１の書込みプログラムによる書込みを許可する第１の記憶領域と、前記第１の書込みプログラムによる書込みを制限する第２の記憶領域と、を有する不揮発性メモリと、
前記第１の書込みプログラムを実行し、前記コマンドに応じて前記第２の記憶領域への書込み処理を行う為の第２の書込みプログラムを前記第１の記憶領域に書き込む第１のコマンド処理部と、
前記コマンドに応じて前記第２の書込みプログラムを実行し、前記コマンドに応じたデータを前記第２の記憶領域に書き込む第２のコマンド処理部と、
を具備するＩＣカード。
【請求項２】
前記第２の書込みプログラムを前記第１の記憶領域に書き込んだ場合、書込みコマンドを受信した場合に起動する書込みプログラムを前記第１の書込みプログラムから前記第２の書込みプログラムに切り替えるプログラム切替部をさらに具備する請求項１に記載のＩＣカード。
【請求項３】
前記第２のコマンド処理部は、前記コマンドに応じてユーザプログラムを前記第２の記憶領域に書き込み、
前記プログラム切替部は、前記コマンドを受信した場合に実行するプログラムを前記第２の書込みプログラムから前記ユーザプログラムに切り替え、前記第２の書込みプログラムを前記第１の記憶領域から削除する、
請求項２に記載のＩＣカード。
【請求項４】
前記各部を備えるＩＣモジュールと、
前記ＩＣモジュールが配設される本体と、
を具備する請求項１に記載のＩＣカード。
【請求項５】
外部機器から入力されるコマンドに応じて処理を行う携帯可能電子装置であって、
前記外部機器から送信されたコマンドを受信する受信部と、
書込み処理を行う為の第１の書込みプログラムを記憶する読み出し専用メモリと、
前記第１の書込みプログラムによる書込みを許可する第１の記憶領域と、前記第１の書込みプログラムによる書込みを制限する第２の記憶領域と、を有する不揮発性メモリと、
前記第１の書込みプログラムを実行し、前記コマンドに応じて前記第２の記憶領域への書込み処理を行う為の第２の書込みプログラムを前記第１の記憶領域に書き込む第１のコマンド処理部と、
前記コマンドに応じて前記第２の書込みプログラムを実行し、前記コマンドに応じたデータを前記第２の記憶領域に書き込む第２のコマンド処理部と、
を具備する携帯可能電子装置。
【請求項６】
読み出し専用メモリと、第１の記憶領域及び第２の記憶領域を有する不揮発性メモリと、を備え、外部機器から入力されるコマンドに応じて処理を行うＩＣカードにおいて実行される制御プログラムであって、前記ＩＣカードを、
前記外部機器から送信されたコマンドを受信する受信部と、
前期読み出し専用メモリから書込み処理を行う為の第１の書込みプログラムを読み出し、前記第１の書込みプログラムを実行し、前記コマンドに応じて前記第２の記憶領域への書込み処理を行う為の第２の書込みプログラムを前記第１の記憶領域に書き込む第１のコマンド処理部と、
前記コマンドに応じて前記第２の書込みプログラムを実行し、前記コマンドに応じたデータを前記第２の記憶領域に書き込む第２のコマンド処理部と、
前記第１の書込みプログラムによる前記第１の記憶領域への書込み処理を許可し、前記第１の書込みプログラムによる前記第２の記憶領域への書込み処理を制限し、前記第２の書込みプログラムによる前記第２の記憶領域への書込みを許可する制御部と、
して動作させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、ＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムに関する。
【背景技術】
【０００２】
一般的に、携帯可能電子装置として用いられるＩＣカードは、プラスチックなどで形成されたカード状の本体と本体に埋め込まれたＩＣモジュールとを備えている。ＩＣモジュールは、ＩＣチップを有している。ＩＣチップは、電源が無い状態でもデータを保持することができるＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）またはフラッシュＲＯＭなどの不揮発性メモリと、種々の演算を実行するＣＰＵと、ＣＰＵの処理に利用されるＲＡＭメモリなどを有している。
【０００３】
ＩＣカードは、例えば、国際標準規格ＩＳＯ／ＩＥＣ７８１６に準拠したＩＣカードである。ＩＣカードは、ＩＣチップのメモリに種々のアプリケーションを格納することができる。ＩＣカードは、ＩＣカードを処理する端末（リーダライタ）から送信されたコマンドに応じてアプリケーションを実行することにより、種々の処理を実行することができる。
【０００４】
また、近年、ＲＯＭの大部分とＥＥＰＲＯＭ全体とがフラッシュメモリにより置き換えられたＬＳＩを有するＩＣカードがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−０８５０８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のようなＩＣカードは、フラッシュメモリ内にプログラムとデータとの両方を保持することができる。フラッシュメモリは、記憶領域の一部に、他の記憶領域へのプログラムを書き込むための書き込み用プログラムを格納している。ＩＣカードは、フラッシュメモリ内の書き込み用プログラムを実行することにより、フラッシュメモリ内にプログラムなどのデータを書き込む。また、書き込みが完了した場合、ＩＣカードは、ＲＯＭからのプログラムの起動を無効化し、フラッシュメモリからプログラムを実行する。
【０００７】
しかし、制御の主体がフラッシュメモリのプログラムから、ＲＯＭのプログラムに何らかの要因により切り替わった場合、フラッシュメモリ上のデータが書き換えられる可能性がある。この為、フラッシュメモリ内のデータが不正に書き換えられる可能性があるという課題がある。
【０００８】
そこで、よりセキュリティ性の高いＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
一実施形態に係るＩＣカードは、外部機器から入力されるコマンドに応じて処理を行うＩＣカードであって、前記外部機器から送信されたコマンドを受信する受信部と、書込み処理を行う為の第１の書込みプログラムを記憶する読み出し専用メモリと、前記第１の書込みプログラムによる書込みを許可する第１の記憶領域と、前記第１の書込みプログラムによる書込みを制限する第２の記憶領域と、を有する不揮発性メモリと、前記第１の書込みプログラムを実行し、前記コマンドに応じて前記第２の記憶領域への書込み処理を行う為の第２の書込みプログラムを前記第１の記憶領域に書き込む第１のコマンド処理部と、前記コマンドに応じて前記第２の書込みプログラムを実行し、前記コマンドに応じたデータを前記第２の記憶領域に書き込む第２のコマンド処理部と、を具備する。
【図面の簡単な説明】
【００１０】
【図１】図１は、一実施形態に係るＩＣカード処理システムの例について説明するための図である。
【図２】図２は、一実施形態に係るＩＣカードの例について説明するための図である。
【図３】図３は、一実施形態に係るＩＣカードの処理の例について説明するための図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、一実施形態に係るＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムについて詳細に説明する。
【００１２】
本実施形態に係る端末装置１０のカードリーダライタ１７及びＩＣカード２０は、例えば、ＥＴＳＩ  ＴＳ  １０２  ６１３により規定されているＳｉｎｇｌｅ  Ｗｉｒｅ  Ｐｒｏｔｏｃｏｌ（ＳＷＰ）、二重伝送通信などの接触通信の機能、及びＩＳＯ／ＩＥＣ１４４４３などにより規定されている非接触通信の機能の両方またはいずれかの機能を備える。これにより、カードリーダライタ１７及びＩＣカード２０は、互いにデータの送受信を行うことができる。
【００１３】
図１は、一実施形態に係るＩＣカード処理システム１の構成例について示す。  
ＩＣカード処理システム１は、携帯可能電子装置（ＩＣカード）２０を処理する端末装置１０と、ＩＣカード２０と、を備える。端末装置１０とＩＣカード２０とは、上記したように接触通信、または非接触通信により互いに種々のデータを送受信する。
【００１４】
端末装置１０は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、不揮発性メモリ１４、操作部１５、表示部１６、及びカードリーダライタ１７を備える。ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、操作部１５、表示部１６、及びカードリーダライタ１７は、それぞれバス１９を介して互いに接続されている。
【００１５】
ＣＰＵ１１は、端末装置１０全体の制御を司る制御部として機能する。ＣＰＵ１１は、ＲＯＭ１３に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。例えば、ＣＰＵ１１は、カードリーダライタ１７を介してＩＣカード２０とコマンド及びレスポンスの送受信を行う。
【００１６】
ＲＡＭ１２は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ１２は、ＣＰＵ１１の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ１２は、カードリーダライタ１７を介して外部の機器と送受信するデータを一時的に格納する。また、ＲＡＭ１２は、ＣＰＵ１１が実行するプログラムを一時的に格納する。ＲＯＭ１３は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。
【００１７】
不揮発性メモリ１４は、例えばＥＥＰＲＯＭなどのフラッシュメモリを備える。不揮発性メモリ１４は、例えば、制御用のプログラム、制御データ、アプリケーション、個人情報、暗号鍵などのセキュリティ情報、及びアプリケーションに用いられるデータなどを記憶する。
【００１８】
操作部１５は、例えば操作キーなどを備える。操作部１５は、端末装置１０の操作者により入力される操作に基づいて、操作信号を生成する。操作部１５は、生成した操作信号をＣＰＵ１１に入力する。
【００１９】
表示部１６は、ＣＰＵ１１、またはＣＰＵ１１により制御されるグラフィック処理部から入力される表示信号に基づいて、種々の情報を表示する。なお、端末装置１０は、操作部１５と表示部１６とが一体に形成されるタッチパネルを備える構成であってもよい。
【００２０】
カードリーダライタ１７は、ＩＣカード２０と通信を行うためのインターフェース装置である。カードリーダライタ１７は、ＩＣカード２０が装着されるスロット１８を備える。カードリーダライタ１７は、接触通信、または非接触通信によりスロット１８に装着されたＩＣカード２０とデータの送受信を行う。
【００２１】
接触通信のインターフェースとして用いられる場合、カードリーダライタ１７は、ＩＣカード２０が備えるコンタクトパターンと接続される複数の接触端子を備える。スロット１８にＩＣカード２０が装着される場合、カードリーダライタ１７の複数の接触端子は、ＩＣカード２０のコンタクトパターンに接続される。これにより、端末装置１０とＩＣカード２０とは電気的に接続される。カードリーダライタ１７は、スロットに装着されたＩＣカード２０に対して、電力の供給、クロックの供給、リセット信号の入力、及びデータの送受信などを行う。
【００２２】
また、非接触通信のインターフェースとして用いられる場合、カードリーダライタ１７は、送受信するデータに対して信号処理を施す信号処理部と、所定の共振周波数を有するアンテナとを備える。
【００２３】
カードリーダライタ１７は、例えば、信号処理部により、送受信するデータに対して符号化、復号、変調、及び復調などの信号処理を行なう。また、カードリーダライタ１７は、符号化及び変調を施したデータをアンテナに供給する。アンテナは、供給されたデータに応じて磁界を発生させる。これにより、端末装置１０は、スロットに装着されたＩＣカード２０に対してデータを非接触で送信することができる。
【００２４】
さらに、カードリーダライタ１７のアンテナは、磁界を検知し、検知した磁界に応じて信号を生成する。これにより、カードリーダライタ１７は、信号を非接触で受信することができる。信号処理部は、アンテナにより受信された信号に対して復調及び復号を行う。これにより、端末装置１０は、スロットに装着されたＩＣカード２０から送信された元のデータを取得することができる。
【００２５】
ＣＰＵ１１は、カードリーダライタ１７によりＩＣカード２０に対して種々のコマンドを入力する。ＩＣカード２０は、例えば、カードリーダライタ１７からデータの書き込みコマンドを受信した場合、受信したデータを内部の不揮発性メモリに書き込む処理を行う。
【００２６】
また、ＣＰＵ１１は、ＩＣカード２０に読み取りコマンドを送信することにより、ＩＣカード２０からデータを読み出す。ＣＰＵ１１は、ＩＣカード２０から受信したデータに基づいて種々の処理を行う。
【００２７】
図２は、図１に示すＩＣカード２０の構成例を示す。  
図２に示すように、ＩＣカード２０は、矩形状の本体と、本体内に内蔵されるＩＣモジュール２１を備えている。ＩＣモジュール２１は、ＩＣチップ２２を備える。
【００２８】
ＩＣチップ２２は、通信インターフェース２３、ＣＰＵ２４、ＲＯＭ２５、ＲＡＭ２６、不揮発性メモリ２７、電源部２８、及びコプロセッサ２９を備える。
【００２９】
通信インターフェース２３は、ＩＣカード２０に接続される外部機器（例えば端末装置１０）との間で送受信するデータに対して符号化、復号、変調、及び復調などを行う。
【００３０】
ＩＣカード２０が端末装置１０との間で接触通信によりデータの送受信を行う構成である場合、通信インターフェース２３は、コンタクトパターンを備える。コンタクトパターンは、導電性を有する金属などによりＩＣモジュール２１の表面に形成される接触端子である。即ち、コンタクトパターンは、端末装置１０と接触可能な状態で形成されている。コンタクトパターンは、金属により形成される面が複数のエリアに区切られて形成される。区切られた各エリアは、それぞれコンタクトパターンの端子として機能する。通信インターフェース２３は、コンタクトパターンを介してカードリーダライタ１７とデータの送受信を行うことができる。
【００３１】
また、非接触通信のインターフェースとして用いられる場合、通信インターフェース２３は、信号処理部とアンテナとを備える。
【００３２】
信号処理部は、端末装置１０に送信するデータに対して符号化、負荷変調などの信号処理を行う。例えば、信号処理部は、端末装置１０に送信するデータの変調（増幅）を行う。信号処理部は、信号処理を施したデータをアンテナに供給する。
【００３３】
アンテナは、例えば、ＩＣモジュール２１が内蔵される本体に所定の形状で配設される金属線により構成される。ＩＣカード２０は、端末装置１０に送信するデータに応じてアンテナにより磁界を発生させる。これにより、ＩＣカード２０は、端末装置１０に対してデータを送信することができる。また、ＩＣカード２０は、電磁誘導によりアンテナに発生する誘導電流に基づいて端末装置１０から送信されるデータを認識する。
【００３４】
例えば、信号処理部は、アンテナに発生する誘導電流に対して復調、及び復号を行う。例えば、信号処理部は、アンテナにより受信する信号の解析を行う。これにより、通信インターフェース２３は、２値の論理データを取得する。通信インターフェース２３は、解析したデータをバスを介してＣＰＵ２４に送信する。
【００３５】
また、通信インターフェース２３は、受信レジスタ及び送信レジスタを備える。受信レジスタ及び送信レジスタは、一般的なレジスタであり、ＩＣカード２０が送受信するデータを一時的に格納する。即ち、受信レジスタは、通信インターフェース２３を介して端末装置１０から受信するデータを一時的に格納する。また、送信レジスタは、通信インターフェース２３を介して端末装置１０に送信するデータを一時的に格納する。
【００３６】
ＣＰＵ２４は、種々の演算を行う演算素子である。ＣＰＵ２４は、ＲＯＭ２５あるいは不揮発性メモリ２７に記憶されている制御プログラム及び制御データに基づいて種々の処理を行う。これにより、ＣＰＵ２４は、ＩＣカード２０の全体の制御を司ることができる。例えば、ＣＰＵ２４は、端末装置１０のカードリーダライタ１７から受信したコマンドに応じて種々の処理を行い、処理結果に基づいて、レスポンスの生成を行なう。
【００３７】
ＲＯＭ２５は、予め制御用のプログラム及び制御データなどを記憶する不揮発性のメモリである。ＲＯＭ２５は、製造段階で制御プログラム及び制御データなどを記憶した状態でＩＣカード２０内に組み込まれる。即ち、ＲＯＭ２５に記憶される制御プログラム及び制御データは、予めＩＣカード２０の仕様に応じて組み込まれる。
【００３８】
ＲＡＭ２６は、ワーキングメモリとして機能する揮発性のメモリである。ＲＡＭ２６は、ＣＰＵ２４の処理中のデータなどを一時的に格納する。例えば、ＲＡＭ２６は、ＣＰＵ２４が実行するプログラムを一時的に格納する。
【００３９】
不揮発性メモリ２７は、例えば、ＥＥＰＲＯＭなどのデータの書き込み及び書き換えが可能なフラッシュメモリを備える。不揮発性メモリ２７は、例えば、制御用のプログラム、制御データ、アプリケーション、個人情報、暗号鍵などのセキュリティ情報、及びアプリケーションに用いられるデータなどを記憶する。
【００４０】
たとえば、不揮発性メモリ２７では、プログラムファイル及びデータファイルなどが創成される。創成された各ファイルには、制御プログラム及び種々のデータなどが書き込まれる。ＣＰＵ２４は、不揮発性メモリ２７、または、ＲＯＭ２５に記憶されているプログラムを実行することにより、種々の処理を実現することができる。また、不揮発性メモリ２７は、分割された複数の記憶領域を備える。
【００４１】
電源部２８は、通信インターフェース２３を介してカードリーダライタ１７から電力を受給し、受給した電力をＩＣカード２０の各部に供給する。ＩＣカード２０が接触通信を行う構成を備える場合、電源部２８は、通信インターフェース２３のコンタクトパターンを介してカードリーダライタ１７から供給される電力をＩＣカード２０の各部に供給する。
【００４２】
また、ＩＣカード２０が非接触通信を行う構成を備える場合、カードリーダライタ１７のアンテナから送信される電波、特にキャリア波に基づいて電力を生成する。さらに、電源部２８は、動作クロックを生成する。電源部２８は、発生させた電力及び動作クロックをＩＣカード２０の各部に電力を供給する。ＩＣカード２０の各部は、電力の供給を受けた場合、動作可能な状態になる。
【００４３】
コプロセッサ２９は、演算素子及びレジスタなどを有する演算処理部である。コプロセッサ２９は、演算処理をハードウエアにより行う。例えば、コプロセッサ２９は、端末装置１０からのコマンドに基づいて、暗号化、復号、ハッシュ計算、及び乱数の生成などの処理を行う。例えば、端末装置１０から相互認証コマンドを受信する場合、コプロセッサ２９は、相互認証処理に係る演算処理を実行する。ＣＰＵ２４は、コプロセッサ２９にデータを入力し、コプロセッサ２９に演算処理を実行させ、処理結果をコプロセッサ２９から受け取る。
【００４４】
コプロセッサ２９は、例えば、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、またはＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等の規格に基づいて暗号処理を行う。コプロセッサ２９は、例えば不揮発性メモリ２７、またはＲＯＭ２５に格納された暗号鍵を用いて暗号化、及び復号などの暗号処理を行う。
【００４５】
ＩＣカード２０は、一次発行と二次発行とにより発行される。ＩＣカード２０を発行する発行装置は、一次発行において、ＩＣカード２０にコマンド（初期化コマンド）を送信することにより、ＩＣカード２０の不揮発性メモリ２７の初期化を行う。これにより、端末装置１０は、ＩＣカード２０の不揮発性メモリ２７内にＩＣカード２０の使用目的、及び使用用途などに応じた鍵ファイルやデータファイル等を定義する。
【００４６】
発行装置は、例えば、ＩＳＯ／ＩＥＣ７８１６により規定されているファイル構造を不揮発性メモリ２７内に創成する。上記の初期化が行われた不揮発性メモリ２７は、Ｍａｓｔｅｒ  Ｆｉｌｅ（ＭＦ）、Ｄｅｄｉｃａｔｅｄ  Ｆｉｌｅ（ＤＦ）、及びＥｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＥＦ）などを有する。
【００４７】
ＭＦは、ファイル構造の根幹となるファイルである。ＤＦは、ＭＦの下位に創成される。ＤＦは、アプリケーション及びアプリケーションに用いられるデータなどをグループ化して格納するファイルである。ＥＦは、ＤＦの下位に創成される。ＥＦは、様々なデータを格納するためのファイルである。また、ＭＦの直下にＥＦが置かれる場合もある。
【００４８】
ＥＦには、Ｗｏｒｋｉｎｇ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＷＥＦ）とＩｎｔｅｒｎａｌ  Ｅｌｅｍｅｎｔａｒｙ  Ｆｉｌｅ（ＩＥＦ）などの種類がある。ＷＥＦは、作業用ＥＦであり、個人情報などを格納する。ＩＥＦは、内部ＥＦであり、例えば、セキュリティのための暗号鍵などのデータを記憶する。
【００４９】
二次発行では、ＥＦに例えば顧客データなどの個別データが格納される。これにより、ＩＣカード２０が運用可能な状態になる。即ち、ＣＰＵ２４は、不揮発性メモリ２７、または、ＲＯＭ２５に記憶されているプログラムを実行することにより、種々の処理を実現することができる。
【００５０】
図３は、ＩＣカード２０の処理の例を示す。  
上記したように、ＩＣカード２０の不揮発性メモリ２７は、分割された複数の領域を備えている。例えば、不揮発性メモリ２７は、第１の記憶領域２７１、第２の記憶領域２７２、及び第３の記憶領域２７３を備える。また、ＩＣカード２０のＲＯＭ２５は、不揮発性メモリ２７の第１の記憶領域２７１にデータを書き込むことができる第１の書き込み用プログラムを記憶するプログラム記憶領域２５１を備える。
【００５１】
第１の記憶領域２７１は、ＲＯＭ２５のプログラム記憶領域２５１に記憶されている第１の書き込み用プログラムにより書き換えが可能な記憶領域である。第１の記憶領域２７１は、不揮発性メモリ２７上の第２の記憶領域２７２及び第３の記憶領域２７３にデータを書き込むことができる第２の書き込み用プログラムを記憶することができる。
【００５２】
第２の記憶領域２７２及び第３の記憶領域２７３は、不揮発性メモリ２７の第１の記憶領域２７１に記憶されている第２の書き込み用プログラムにより書き換えが可能な記憶領域である。即ち、第２の記憶領域２７２及び第３の記憶領域２７３は、第１の書き込み用プログラムにより書き換えが制限された領域である。  上記したようにＲＯＭ２５は、不揮発性メモリ２７の第１の記憶領域２７１にデータ及びプログラムを書き込むための第１の書き込み用プログラムを記憶する。第１の書き込み用プログラムは、不揮発性メモリ２７上のコマンドにより指定された位置にデータを書き込むことができる。
【００５３】
しかし、データを書き込む位置は、上記の第１の記憶領域２７１内に限定される。例えば、ＲＯＭ２５は、第１の書き込み用プログラムにより書き込み可能な領域を示す情報（制限情報）を第１の書き込み用プログラムに対応付けて記憶する。ＩＣカード２０は、第１の書き込み用プログラムに対応付けられた制限情報に基づいて、第１の書き込み用プログラムにより書き込みが可能な不揮発性メモリ２７上の位置を認識することができる。
【００５４】
ＩＣカード２０は、端末装置１０から送信されたコマンドに応じて、第１の書き込み用プログラムを実行する。これにより、ＩＣカード２０は、端末装置１０から送信されたコマンドに付加された書き込み用データを不揮発性メモリ２７の第１の記憶領域に書き込むことができる。これにより、ＩＣカード２０は、端末装置１０から送信されたコマンドに付加された第２の書き込み用プログラムを不揮発性メモリ２７の第１の記憶領域に書き込むことができる。
【００５５】
また、ＲＯＭ２５は、プログラムの起動開始番地を変更する為のプログラム（番地変更プログラム）を予め記憶する。ＩＣカード２０は、番地変更プログラムを実行することにより、プログラムを実行する際に読み込むメモリ上の領域を適宜設定することができる。
【００５６】
例えば、ＩＣカード２０は、書き込みコマンドを受信した際に書き込み用プログラムを実行する。番地変更プログラムは、書き込みコマンドを受信した際の読み込み位置を、ＲＯＭ２５上のプログラム記憶領域２５１から、不揮発性メモリ２７上の第１の記憶領域２７１に変更することができる。これにより、ＩＣカード２０は、書き込みコマンドを受信した場合に実行する書き込み用プログラムを第１の書き込み用プログラムから第２の書き込み用プログラムに変更することができる。
【００５７】
ＩＣカード２０は、端末装置１０からのコマンドに応じて種々の処理を行い、第２の記憶領域２７２及び第３の記憶領域２７３にデータを書き込む。まず、ＩＣカード２０は、ＲＯＭ２５の第１の書き込み用プログラムを実行することにより、不揮発性メモリ２７の第１の記憶領域に第２の書き込み用プログラム２７１を書き込む。この際、プログラム起動開始番地は、ＲＯＭ２５内のプログラム記憶領域２５１を示す位置に設定されている。ＩＣカード２０は、プログラムを実行する際に読み込む位置をＲＯＭ２５内のプログラム記憶領域２５１を示す位置から不揮発性メモリ２７内の第１の記憶領域２７１を示す位置に変更する。
【００５８】
さらに、ＩＣカード２０は、書き込みコマンドを受信した場合、不揮発性メモリ２７の第１の記憶領域２７１に書き込まれた第２の書き込み用プログラムを実行する。ＩＣカード２０は、書き込みコマンドに例えばユーザプログラムなどの書き込みデータを第２の書き込み用プログラムにより第２の記憶領域２７２または第３の記憶領域２７３にデータを書き込む。例えば、ＩＣカード２０は、第２の記憶領域２７２にユーザプログラムを書き込み、第３の記憶領域にユーザプログラムにより使用される個人情報などのユーザデータを書き込む。
【００５９】
ＩＣカード２０は、第２の書き込み用プログラムによる書き込み処理が完了した場合、
コマンドを受信した際のプログラムの読み込み位置を不揮発性メモリ２７上の第１の記憶領域２７１から第２の記憶領域２７２に変更する。即ち、ＩＣカード２０は、新たにプログラムを書き込んだ記憶領域にプログラムの読み込み位置を変更する。これにより、ＩＣカード２０は、これ以降、不揮発性メモリ２７内の特定番地（第２の記憶領域２７２）からプログラムを起動する。この結果、ＩＣカード２０は、上記の処理により書き込まれたユーザプログラムのみを実行することができる状態（運用状態）に遷移する。
【００６０】
また、第２の書き込みプログラムが書き込まれている第１の記憶領域は、ＩＣカード２０が運用状態に遷移した後、削除されてもよい。例えば、ＩＣカード２０は、第２の記憶領域２７２に記憶されているユーザプログラムを実行することにより、第１の記憶領域２７１に記憶されている第２の書き込み用プログラムを削除する。これにより、ＩＣカード２０は、ユーザデータを書き込む為の記憶領域として第１の記憶領域２７１を用いることができる。
【００６１】
上記したように、ＩＣカード２０は、ＲＯＭ２５上の第１の書込み用プログラムにより書きこむことが可能な記憶領域（第１の記憶領域２７１）と、第１の書込み用プログラムにより書きこむことが不可能な記憶領域（第２の記憶領域２７２及び第３の記憶領域２７３）と、を備える不揮発性メモリ２７を備える。ＩＣカード２０は、第１の書き込み用プログラムを実行し、第２の記憶領域２７２及び第３の記憶領域２７３にデータを書き込む為の第２の書き込み用プログラムを第１の記憶領域２７１に書き込む。
【００６２】
即ち、ＩＣカード２０のＣＰＵ２４は、ＲＯＭ２５上の第１の書込み用プログラムによる第１の記憶領域２７１への書込みを許可する。また、ＣＰＵ２４は、第１の書込みプログラムによる第２の記憶領域２７２及び第３の記憶領域２７３への書込みを制限する。また、ＣＰＵ２４は、第１の記憶領域２７１上の第２の書込み用プログラムによる第２の記憶領域２７２及び第３の記憶領域２７３への書込みを許可する。
【００６３】
また、ＩＣカード２０のＣＰＵ２４は、第２の書込みプログラムを第１の記憶領域２７１に書き込んだ場合、書込みコマンドを受信した場合に起動する書込みプログラムをＲＯＭ２５上の第１の書込みプログラムから不揮発性メモリ２７上の第２の書込みプログラムに切り替えるプログラム切替部として機能する。
【００６４】
ＩＣカード２０は、第２の書き込み用プログラムを実行することにより、第２の記憶領域２７２及び第３の記憶領域２７３にプログラム（ユーザプログラム）及びデータ（ユーザデータ）を書き込むことができる。なお、第２の記憶領域２７２及び第３の記憶領域２７３は、ＲＯＭ２５上の第１の書き込み用プログラムによる書き込みが制限されており、不揮発性メモリ２７上の第２の書き込み用プログラムによる書き込みが許可されている。これにより、ＩＣカード２０は、プログラムを起動する位置が不揮発性メモリ２７の特定の位置からＲＯＭ２５上の特定の位置に変更された場合であっても、不揮発性メモリ２７上のデータが書き換えられることを防ぐことができる。
【００６５】
また、ＣＰＵ２４は、第２の書き込み用プログラムによりユーザプログラムを第２の記憶領域２７２または第３の記憶領域に書き込んだ場合、コマンドを受信した場合に実行するプログラムを第２の書込みプログラムからユーザプログラムに切り替える。さらに、ＣＰＵ２４は、第２の書込みプログラムを第１の記憶領域２７１から削除する。
【００６６】
この結果、よりセキュリティ性の高いＩＣカード、携帯可能電子装置、及びＩＣカードの制御プログラムを提供することができる。
【００６７】
なお、上述の各実施の形態で説明した機能は、ハードウエアを用いて構成するに留まらず、ソフトウエアを用いて各機能を記載したプログラムをコンピュータに読み込ませて実現することもできる。また、各機能は、適宜ソフトウエア、ハードウエアのいずれかを選択して構成するものであっても良い。
【００６８】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【００６９】
１…ＩＣカード処理システム、１０…端末装置、１１…ＣＰＵ、１２…ＲＡＭ、１３…ＲＯＭ、１４…不揮発性メモリ、１５…操作部、１６…表示部、１７…カードリーダライタ、１８…スロット、１９…バス、２０…ＩＣカード、２１…ＩＣモジュール、２２…ＩＣチップ、２３…通信インターフェース、２３ａ…通信インターフェース、２４…ＣＰＵ、２５…ＲＯＭ、２６…ＲＡＭ、２７…不揮発性メモリ、２８…電源部、２９…コプロセッサ。
【図１】
2014032601.tif 000003
【図２】
2014032601.tif 000004
【図３】
2014032601.tif 000005