携帯可能電子装置およびICカード
【課題】自己診断の処理時間を著しく短縮することができる携帯可能電子装置およびICカードを提供する。
【解決手段】メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なうCPUを有し、カードリーダ・ライタからコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果をカードリーダ・ライタへ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域を有していて、カードリーダ・ライタから入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能なICカードにおいて、アプリケーション選択コマンドによりアプリケーションが選択された際、当該選択されたアプリケーションが利用するメモリ領域を自己診断する。
【解決手段】メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なうCPUを有し、カードリーダ・ライタからコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果をカードリーダ・ライタへ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域を有していて、カードリーダ・ライタから入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能なICカードにおいて、アプリケーション選択コマンドによりアプリケーションが選択された際、当該選択されたアプリケーションが利用するメモリ領域を自己診断する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、たとえば、書込み、書換えが可能な不揮発性メモリおよびCPU(セントラル・プロセッシング・ユニット)などの制御素子を有し、選択的に外部との間でデータの入出力を行なう手段を備えたICチップを内蔵した、いわゆるICカードと称される携帯可能電子装置に係り、特に複数のアプリケーションが登録されている携帯可能電子装置に関する。
【背景技術】
【0002】
最近、携帯可能電子装置として、不揮発性メモリ(EEPROM)、揮発性メモリ(RAM)、これらのメモリに対してデータの読出しおよびまたは書込みなどを行なう制御素子(CPU)、および、CPUの動作用プログラムなどを格納したROMを有し、選択的に外部との間でデータの入出力を行なう手段を備えたICチップを内蔵したICカードが産業各方面で利用されている。
一般に、この種のICカードは、コマンドやレスポンスを用いて、外部装置(ICカードリーダ・ライタ)との間でデータの入出力を行なうようになっている。
【0003】
ところで、このようなICカードは、正常に動作するか否かの自己診断を行なう自己診断機能を備えていないのが一般的であるが、最近、そのような自己診断機能を備えたものが開発されている(たとえば、特許文献1、特許文献2参照)。
特許文献1に記載されたICカードは、活性化後に外部装置に対して行なわれる初期応答データの出力前に全ての自己診断を実施するものであり、特許文献2に記載されたICカードは、活性化後、初期応答データの出力に使用するレジスタなどの自己診断を実施した後、初期応答データの先頭バイトのみを出力してから残りの自己診断を実施するものである。
【0004】
一般に、ICカードにおける自己診断の内容は、ROM、RAM、CPU、EEPROMなどが正しく動作するか否かを確認するものである。自己診断の例として、ROMは、全てのROMデータに対してCRC(Cyclic Redundancy Code:巡回符号)計算を行なうことにより、あらかじめ計算しておいたCRCデータと比較し、両者が一致している場合はROMデータに問題がないとするものである。
【0005】
また、RAMは、全てのバイトに対してデータが正しく書込まれ、読出されるか検査する。たとえば、各バイトにデータ「0xAA」を書込み、書込後に読出し、次にデータ「0x55」を書込み、書込後に読出し、問題ないかを確認する。CPUは、各レジスタに対してRAMと同様の確認を行なう。EEPROMに対しても、自己診断可能な領域に対してRAMと同様の確認を行なう。
【特許文献1】特開昭63−180185号公報
【特許文献2】特開昭63−234375号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来のICカードにおける自己診断のタイミングは、上述したように、リセット解除後から初期応答データの出力前まで、あるいは、初期応答データの出力中に実施している。自己診断を実施できるタイミングは、国際標準仕様であるISO−7816−3で規定されているタイミングの範囲で、ICカードが独自で実施している。ISO−7816−3に記載されているタイミングとは、リセット解除後から初期応答データの先頭までは、400〜40000クロック以内で行なうこと、初期応答データは、1ビットが372クロックで構成されるビットの間隔で送信すること、などである。
このため、リソースであるRAM、EEPROM、ROMのメモリサイズが大きくなると、自己診断の処理時間が長くなり、上記のタイミングでは全てを自己診断するのは困難となっている。
【0007】
そこで、本発明は、動作するために最低限必要な機能のみに自己診断を行ない、その他の診断はアプリケーションが選択された場合に実行し、新たなアプリケーションが必要としている新たなリソースに対して自己診断を実施することで、リソースが増えた場合でも、活性化時に全てのリソースに対して自己診断するのではなく必要の範囲で順次診断を実施するので、自己診断の処理時間を著しく短縮することができる携帯可能電子装置およびICカードを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の携帯可能電子装置は、メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに使用するメモリ領域を有していて、外部から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能な携帯可能電子装置において、外部からのアプリケーション選択コマンドによりアプリケーションが選択された際、当該選択されたアプリケーションが利用するメモリ領域を正常に動作するか否か自己診断する自己診断手段を具備している。
【0009】
また、本発明の携帯可能電子装置は、メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部装置からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部装置へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域を有していて、外部装置から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能な携帯可能電子装置において、当該携帯可能電子装置の活性化後、前記外部装置に対して初期応答データを出力する初期応答出力手段と、この初期応答出力手段により初期応答データが出力された後、前記外部装置からアプリケーション選択コマンドが入力されると、当該アプリケーション選択コマンドにより指定されたアプリケーションが登録されているか否かを判定する第1の判定手段と、この第1の判定手段による判定の結果、指定されたアプリケーションが登録されている場合、当該指定されたアプリケーションのプログラム領域は自己診断済か否かを判定する第2の判定手段と、この第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済でない場合、当該プログラム領域を正常に動作するか否か自己診断する第1の自己診断手段と、前記第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済の場合、あるいは、前記第1の自己診断手段による自己診断が終了すると、当該指定されたアプリケーションの作業用メモリ領域は自己診断済か否かを判定する第3の判定手段と、この第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済でない場合、当該作業用メモリ領域を正常に動作するか否か自己診断する第2の自己診断手段と、前記第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済の場合、あるいは、前記第2の自己診断手段による自己診断が終了した後、前記外部装置からコマンドが入力されると、当該コマンドに対する処理を実行するコマンド処理手段とを具備している。
【0010】
また、本発明のICカードは、メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに使用するメモリ領域を有していて、外部から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能なICカードにおいて、外部からのアプリケーション選択コマンドによりアプリケーションが選択された際、当該選択されたアプリケーションが利用するメモリ領域を正常に動作するか否か自己診断する自己診断手段を有したICモジュールと、このICモジュールを収納したICカード本体とを具備している。
【0011】
さらに、本発明のICカードは、メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部装置からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部装置へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域を有していて、外部装置から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能なICカードにおいて、当該ICカードの活性化後、前記外部装置に対して初期応答データを出力する初期応答出力手段と、この初期応答出力手段により初期応答データが出力された後、前記外部装置からアプリケーション選択コマンドが入力されると、当該アプリケーション選択コマンドにより指定されたアプリケーションが登録されているか否かを判定する第1の判定手段と、この第1の判定手段による判定の結果、指定されたアプリケーションが登録されている場合、当該指定されたアプリケーションのプログラム領域は自己診断済か否かを判定する第2の判定手段と、この第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済でない場合、当該プログラム領域を正常に動作するか否か自己診断する第1の自己診断手段と、前記第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済の場合、あるいは、前記第1の自己診断手段による自己診断が終了すると、当該指定されたアプリケーションの作業用メモリ領域は自己診断済か否かを判定する第3の判定手段と、この第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済でない場合、当該作業用メモリ領域を正常に動作するか否か自己診断する第2の自己診断手段と、前記第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済の場合、あるいは、前記第2の自己診断手段による自己診断が終了した後、前記外部装置からコマンドが入力されると、当該コマンドに対する処理を実行するコマンド処理手段とを有したICモジュールと、このICモジュールを収納したICカード本体とを具備している。
【発明の効果】
【0012】
本発明によれば、動作するために最低限必要な機能のみに自己診断を行ない、その他の診断はアプリケーションが選択された場合に実行し、新たなアプリケーションが必要としている新たなリソースに対して自己診断を実施することで、リソースが増えた場合でも、活性化時に全てのリソースに対して自己診断するのではなく必要の範囲で順次診断を実施するので、自己診断の処理時間を著しく短縮することができる携帯可能電子装置およびICカードを提供できる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本実施の形態に係る携帯可能電子装置としてのICカードを取扱うICカードシステムの構成例を示すものである。このICカードシステムは、ICカード10をカードリーダ・ライタ11を介してパーソナルコンピュータなどの端末装置12と接続可能にするとともに、端末装置12にキーボード13、CRT表示部13、プリンタ15を接続して構成される。
【0014】
図2は、ICカード10の構成を示すもので、制御部としての制御素子101(以下、単にCPUともいう)、データメモリ102、ワーキングメモリ103、プログラムメモリ104、および、カードリーダ・ライタ12との電気的接触を得るためのコンタクト部105によって構成されている。そして、これらのうち、破線内の部分(制御素子101、データメモリ102、ワーキングメモリ103、プログラムメモリ104)は1つ(あるいは複数)のICチップで構成され、さらに、このICチップとコンタクト部105とが一体的にICモジュール化されて、ICカード本体C内に埋設されている。
【0015】
データメモリ102は、各種データの記憶に使用され、たとえば、EEPROMなどの記憶内容が書換え可能な不揮発性メモリで構成されている。以下、データメモリ102を単にEEPROMともいう。
【0016】
ワーキングメモリ103は、制御素子101が処理を行なう際の処理データなどを一時的に保持するための作業用メモリであり、たとえば、RAMなどで構成される。以下、ワーキングメモリ103を単にRAMともいう。
【0017】
プログラムメモリ104は、たとえば、マスクROMなどの記憶内容が書換え不可能な不揮発性メモリで構成されており、制御素子101の制御プログラム、および、複数のアプリケーションプログラムなどを記憶するものである。以下、プログラムメモリ104を単にROMともいう。
【0018】
図3は、データメモリ102の構成を示している。データメモリ102は、複数のアプリケーションに関するデータがファイル構造で記憶される。図3の例では、たとえば、2つのクレジット用アプリケーションが登録された状態を示している。
すなわち、最上位がマスタファイル(MF:Master File)201で、その配下には、各アプリケーションごとに設定されるフォルダとしてアプリケーションファイル(以下、単にADF(Application Dedicated File)ともいう)202,203が設けられ、さらに、これらアプリケーションファイル202,203の配下には、それぞれ実際にアプリケーションで仕様されるエレメンタリファイル(以下、単にEF(Elementary File)ともいう)204,205,206、207,208,209が設けられている構成になっている。
【0019】
図4は、本実施の形態におけるメモリマップを示しており、使用メモリ領域を示すアドレスとそのメモリの種類を示している。
図5は、本実施の形態におけるアプリケーションプログラム登録テーブルを示していて、アプリケーションの名称とそのアプリケーションが使用するプログラム領域およびRAM領域とからなり、これは例えばROM内に設けられている。
図6は、本実施の形態におけるアプリケーションプログラムデータ格納フォーマットの一例を示しており、プログラムデータとCRC(巡回符号)データとで構成されている。
図7は、RAM自己診断履歴テーブルを示していて、アプリケーションごとに使用するRAM領域の自己診断診断が実施されたか否かの履歴が格納されており、これは例えばRAM内に設けられている。
図8は、アプリケーションプログラムの自己診断履歴テーブルを示していて、アプリケーションごとにアプリケーションプログラム領域の自己診断が実施されたか否かの履歴が格納されており、これは例えばRAM内に設けられている。
【0020】
図9は、アプリケーション(ファイル)選択コマンドのフォーマット例を示している。図示するように、コマンド分類部CLA(class)、命令部INS(instruction)、パラメータ部P1,P2、データ長Le、および、データ(アプリケーション名)Dataから構成されており、CLA/INS=00/A4の場合がアプリケーション選択コマンドである。パラメータP1が「04」の場合がADF選択、「00」の場合がDF選択であり、「02」の場合がEF選択である。本例では、ADF選択の場合に自己診断を行なう。ADF選択以外の場合は、そのパラメータに対応した処理を行なう。
【0021】
次に、上記のような構成において、図10〜図11に示すフローチャートを参照してICカード10の動作について説明する。
【0022】
まず、カードリーダ・ライタ11からの活性化動作(リセット解除)により、当該ICカード10は活性化される(ステップS1)。活性化されると、CPU101は、自身の自己診断を行なう(ステップS2)。CPU101の自己診断としては、レジスタにデータが正常に書込まれ、正常に読出されるか確認を行なう。たとえば、データ「0xAA」を書込み、読出し、次にデータ「0x55」を書込み、読出す。これにより、レジスタ内のデータがビットごとに干渉しないで正常に動作することを確認する。正常に行なわれなかった場合は、その時点で動作を停止する。
【0023】
ステップS2における自己診断の結果、正常であることが確認されると、CPU101は、データの送信、受信のみに必要なRAMの領域(RAMの一部の領域)に対し自己診断を行なう(ステップS3)。RAMの自己診断としては、自己診断する領域のRAMの各バイトに対して、データが正常に書込まれ、正常に読出されるか確認を行なう。たとえば、データ「0xAA」を書込み、読出し、次にデータ「0x55」を書込み、読出す。これにより、各バイトのデータがビットごとに干渉しないで正常に動作することを確認する。確認する領域で異常が発生した場合は、その時点で動作を停止する。
【0024】
ステップS3における自己診断の結果、正常であることが確認されると、CPU101は、カードリーダ・ライタ11に対して初期応答データを送信し(ステップS4)、その後、カードリーダ・ライタ11から送信されるコマンドの受信を待機する(ステップS5)。
【0025】
カードリーダ・ライタ11からのコマンドを受信すると、CPU101は、まず、コマンドがCLA/INSコードからアプリケーション選択コマンドであるか確認する(ステップS6)。アプリケーション選択コマンド以外の場合は各コマンド処理を実行する(ステップS7)。
【0026】
アプリケーション選択コマンドの場合、CPU101は、パラメータP1が「04」、すなわちADF選択であるか確認し(ステップS8)、ADF選択以外の場合は、そのパラメータに対応した処理を行なう(ステップS9)。
【0027】
ADF選択であった場合、CPU101は、図5に示すアプリケーションプログラム登録テーブルから指定されたアプリケーションが登録されているか確認する(ステップS10)。たとえば、アプリケーション選択コマンドが図9の例であった場合、アプリケーション名が「A000000005112233」であるので、そのアプリケーション名であるADFとそれに対するプログラム領域、使用RAM領域が図5に示すように登録されている。
【0028】
なお、指定されたアプリケーションが登録されていない場合、CPU101は、指定されたADFは存在しないことを意味するエラー処理を行ない(ステップS1)、そのステータスをカードリーダ・ライタ11へ送信する(ステップS12)。
【0029】
図5に示すように、指定されたアプリケーションが登録されている場合、CPU101は、指定されたADFのプログラムが格納されているプログラム領域の自己診断が既に実施されているか確認する(ステップS13)。この確認は、RAM内に格納されている図8に示すアプリケーションプログラムの自己診断履歴テーブルを参照する。この確認の結果、自己診断が既に実施されている場合は、当該プログラム領域の自己診断はスキップする。
【0030】
指定されたADFのプログラムが格納されているプログラム領域の自己診断が実施されていない場合、CPU101は、当該プログラム領域の自己診断を行なう(ステップS14)。プログラム領域の自己診断は、アプリケーションプログラムデータ格納フォーマットは図6に示すように構成されているので、全領域データの最後にCRCデータをあらかじめ格納しておき、自己診断時に全データのCRCを計算し、あらかじめ登録しておいたCRCデータと比較し、一致していれば正常と判断するものである。
上記自己診断の結果、正常である場合、CPU101は、図8に示すアプリケーションプログラムの自己診断履歴テーブルに実施済を意味するデータをセットする。
上記自己診断の結果、異常である場合、CPU101は、自己診断異常を示すエラー処理を行ない(ステップS15)、そのステータスをカードリーダ・ライタ11へ送信する(ステップS12)。
【0031】
上記自己診断の結果、正常である場合、CPU101は、指定されたADFで使用するRAM領域の自己診断が既に実施されているか確認する(ステップS16)。この確認は、RAM内に格納されている図7に示すRAM自己診断履歴テーブルを参照する。この確認の結果、自己診断が既に実施されている場合は、当該RAM領域の自己診断はスキップする。
【0032】
指定されたADFで使用するRAM領域の自己診断が実施されていない場合、CPU101は、当該RAM領域の自己診断を行なう(ステップS17)。この場合、まず、図7に示すRAM自己診断履歴テーブルを参照することで、当該RAM領域が他のアプリケーションで既に自己診断されているかの確認を行なう。この確認の結果、当該RAM領域が他のアプリケーションで自己診断済であった場合、図5のアプリケーションプログラム登録テーブルを参照することにより、他のアプリケーションで使用した領域(自己診断済のRAM領域)のアドレスを記憶し、今回自己診断するRAM領域のアドレスと比較して、オーバーラップしていないRAM領域のみを自己診断する。
【0033】
ここで、図12〜図16を参照して具体例を説明する。
まず、図12の具体例1は、今回指定されたアプリケーション名が「A000000005112233」であるが、全てのアプリケーションで使用するRAM領域が「未実施」の場合である。したがって、この場合、RAMの自己診断領域は、図5のアプリケーションプログラム登録テーブルから「0x0000−0x2FFF」のアドレスとなる。
【0034】
次に、図13の具体例2は、同じく今回指定されたアプリケーション名が「A000000005112233」であるが、他のアプリケーションの1つ、図13の例ではアプリケーション名が「A000000005445566」のアプリケーションで使用するRAM領域が「実施済」の場合である。したがって、この場合、RAMの自己診断領域は、図5のアプリケーションプログラム登録テーブルから、「0x0000−0x2FFF」と「0x0000−0x1FFF」との差である「0x2000−0x2FFF」のアドレスとなる。
【0035】
次に、図14の具体例3は、同じく今回指定されたアプリケーション名が「A000000005112233」であるが、他のアプリケーションの1つ、図14の例ではアプリケーション名が「A000000005778899」のアプリケーションで使用するRAM領域が「実施済」の場合である。したがって、この場合、RAMの自己診断領域は、図5のアプリケーションプログラム登録テーブルから、今回指定されたアプリケーションのRAM領域「0x0000−0x2FFF」は既に「実施済」のRAM領域「0x0000−0x3FFF」に含まれているので、無しとなる。すなわち、今回指定されたアプリケーションのRAM領域の自己診断はスキップする。
【0036】
次に、図15の具体例4は、同じく今回指定されたアプリケーション名が「A000000005112233」であるが、他の全てのアプリケーション、図15の例ではアプリケーション名が「A000000005445566」、「A000000005778899」のアプリケーションで使用するRAM領域が「実施済」の場合である。したがって、この場合、RAMの自己診断領域は、図14の具体例3と同様に、今回指定されたアプリケーションのRAM領域「0x0000−0x2FFF」は既に「実施済」のRAM領域「0x0000−0x3FFF」に含まれているので、無しとなる。すなわち、今回指定されたアプリケーションのRAM領域の自己診断はスキップする。
【0037】
次に、図16の具体例5は、同じく今回指定されたアプリケーション名が「A000000005112233」であるが、当該アプリケーションで使用するRAM領域は既に他のアプリケーションにより「実施済」で、他の全てのアプリケーション、図16の例ではアプリケーション名が「A000000005445566」、「A000000005778899」のアプリケーションで使用するRAM領域が「未実施」の場合である。したがって、この場合、RAMの自己診断領域は、今回指定されたアプリケーションのRAM領域「0x0000−0x2FFF」は既に「実施済」であるので、無しとなる。すなわち、今回指定されたアプリケーションのRAM領域の自己診断はスキップする。
【0038】
ステップS17におけるRAM領域の自己診断は、自己診断する領域の各バイトに対して、データが正常に書込まれ、正常に読出されるか確認を行なう。たとえば、データ「0xAA」を書込み、読出し、次にデータ「0x55」を書込み、読出す。これにより、各バイトのデータがビットごとに干渉しないで正常に動作することを確認する。
【0039】
上記自己診断の結果、正常である場合、CPU101は、図7に示すRAM自己診断履歴テーブルに実施済を意味するデータをセットする。そして、CPU101は、当該コマンドに対する処理を実行し(ステップS19)、当該コマンド処理に対するレスポンスをカードリーダ・ライタ11へ送信し(ステップS20)、ステップS5に戻る。
【0040】
上記自己診断の結果、異常である場合、CPU101は、自己診断異常を示すエラー処理を行ない(ステップS18)、そのステータスをカードリーダ・ライタ11へ送信する(ステップS12)。
【0041】
以上説明したように、上記実施の形態によれば、ICカードの活性化後、当該ICカードが動作するために最低限必要な機能のみに自己診断を行ない、その他の診断はアプリケーションが選択された場合に実行し、新たなアプリケーションが必要としている新たなリソースに対して自己診断を実施する。
したがって、今後、ICカードのリソースが増えた場合でも、活性化時に全てのリソースに対して自己診断するのではなく、必要の範囲で順次診断を実施することで、自己診断の処理時間を著しく短縮することができる。
【図面の簡単な説明】
【0042】
【図1】本発明の実施の形態に係るICカードを取扱うICカードシステムの構成を概略的に示すブロック図。
【図2】ICカードの構成を概略的に示すブロック図。
【図3】データメモリ内のファイル構成の概念を模式的に示す図。
【図4】メモリマップを説明する図。
【図5】アプリケーションプログラム登録テーブルを説明する図。
【図6】アプリケーションプログラムデータ格納フォーマットの一例を示す図。
【図7】RAM自己診断履歴テーブルを説明する図。
【図8】アプリケーションプログラムの自己診断履歴テーブルを説明する図。
【図9】アプリケーション選択コマンドのフォーマット例を示す図。
【図10】動作を説明するフローチャート。
【図11】動作を説明するフローチャート。
【図12】動作の具体例1を説明する図。
【図13】動作の具体例2を説明する図。
【図14】動作の具体例3を説明する図。
【図15】動作の具体例4を説明する図。
【図16】動作の具体例5を説明する図。
【符号の説明】
【0043】
10…ICカード(携帯可能電子装置)、11…カードリーダ・ライタ(外部装置)、12…端末装置、13…キーボード、14…CRT表示部、15…プリンタ、101…制御素子(CPU)、102…データメモリ(EEPROM)、103…ワーキングメモリ(RAM)、104…プログラムメモリ(ROM)、105…コンタク部、201…マスタファイル(MF)、202,203…アプリケーションファイル(ADF)、204〜209…エレメンタリファイル(EF)。
【技術分野】
【0001】
本発明は、たとえば、書込み、書換えが可能な不揮発性メモリおよびCPU(セントラル・プロセッシング・ユニット)などの制御素子を有し、選択的に外部との間でデータの入出力を行なう手段を備えたICチップを内蔵した、いわゆるICカードと称される携帯可能電子装置に係り、特に複数のアプリケーションが登録されている携帯可能電子装置に関する。
【背景技術】
【0002】
最近、携帯可能電子装置として、不揮発性メモリ(EEPROM)、揮発性メモリ(RAM)、これらのメモリに対してデータの読出しおよびまたは書込みなどを行なう制御素子(CPU)、および、CPUの動作用プログラムなどを格納したROMを有し、選択的に外部との間でデータの入出力を行なう手段を備えたICチップを内蔵したICカードが産業各方面で利用されている。
一般に、この種のICカードは、コマンドやレスポンスを用いて、外部装置(ICカードリーダ・ライタ)との間でデータの入出力を行なうようになっている。
【0003】
ところで、このようなICカードは、正常に動作するか否かの自己診断を行なう自己診断機能を備えていないのが一般的であるが、最近、そのような自己診断機能を備えたものが開発されている(たとえば、特許文献1、特許文献2参照)。
特許文献1に記載されたICカードは、活性化後に外部装置に対して行なわれる初期応答データの出力前に全ての自己診断を実施するものであり、特許文献2に記載されたICカードは、活性化後、初期応答データの出力に使用するレジスタなどの自己診断を実施した後、初期応答データの先頭バイトのみを出力してから残りの自己診断を実施するものである。
【0004】
一般に、ICカードにおける自己診断の内容は、ROM、RAM、CPU、EEPROMなどが正しく動作するか否かを確認するものである。自己診断の例として、ROMは、全てのROMデータに対してCRC(Cyclic Redundancy Code:巡回符号)計算を行なうことにより、あらかじめ計算しておいたCRCデータと比較し、両者が一致している場合はROMデータに問題がないとするものである。
【0005】
また、RAMは、全てのバイトに対してデータが正しく書込まれ、読出されるか検査する。たとえば、各バイトにデータ「0xAA」を書込み、書込後に読出し、次にデータ「0x55」を書込み、書込後に読出し、問題ないかを確認する。CPUは、各レジスタに対してRAMと同様の確認を行なう。EEPROMに対しても、自己診断可能な領域に対してRAMと同様の確認を行なう。
【特許文献1】特開昭63−180185号公報
【特許文献2】特開昭63−234375号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
従来のICカードにおける自己診断のタイミングは、上述したように、リセット解除後から初期応答データの出力前まで、あるいは、初期応答データの出力中に実施している。自己診断を実施できるタイミングは、国際標準仕様であるISO−7816−3で規定されているタイミングの範囲で、ICカードが独自で実施している。ISO−7816−3に記載されているタイミングとは、リセット解除後から初期応答データの先頭までは、400〜40000クロック以内で行なうこと、初期応答データは、1ビットが372クロックで構成されるビットの間隔で送信すること、などである。
このため、リソースであるRAM、EEPROM、ROMのメモリサイズが大きくなると、自己診断の処理時間が長くなり、上記のタイミングでは全てを自己診断するのは困難となっている。
【0007】
そこで、本発明は、動作するために最低限必要な機能のみに自己診断を行ない、その他の診断はアプリケーションが選択された場合に実行し、新たなアプリケーションが必要としている新たなリソースに対して自己診断を実施することで、リソースが増えた場合でも、活性化時に全てのリソースに対して自己診断するのではなく必要の範囲で順次診断を実施するので、自己診断の処理時間を著しく短縮することができる携帯可能電子装置およびICカードを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の携帯可能電子装置は、メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに使用するメモリ領域を有していて、外部から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能な携帯可能電子装置において、外部からのアプリケーション選択コマンドによりアプリケーションが選択された際、当該選択されたアプリケーションが利用するメモリ領域を正常に動作するか否か自己診断する自己診断手段を具備している。
【0009】
また、本発明の携帯可能電子装置は、メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部装置からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部装置へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域を有していて、外部装置から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能な携帯可能電子装置において、当該携帯可能電子装置の活性化後、前記外部装置に対して初期応答データを出力する初期応答出力手段と、この初期応答出力手段により初期応答データが出力された後、前記外部装置からアプリケーション選択コマンドが入力されると、当該アプリケーション選択コマンドにより指定されたアプリケーションが登録されているか否かを判定する第1の判定手段と、この第1の判定手段による判定の結果、指定されたアプリケーションが登録されている場合、当該指定されたアプリケーションのプログラム領域は自己診断済か否かを判定する第2の判定手段と、この第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済でない場合、当該プログラム領域を正常に動作するか否か自己診断する第1の自己診断手段と、前記第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済の場合、あるいは、前記第1の自己診断手段による自己診断が終了すると、当該指定されたアプリケーションの作業用メモリ領域は自己診断済か否かを判定する第3の判定手段と、この第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済でない場合、当該作業用メモリ領域を正常に動作するか否か自己診断する第2の自己診断手段と、前記第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済の場合、あるいは、前記第2の自己診断手段による自己診断が終了した後、前記外部装置からコマンドが入力されると、当該コマンドに対する処理を実行するコマンド処理手段とを具備している。
【0010】
また、本発明のICカードは、メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに使用するメモリ領域を有していて、外部から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能なICカードにおいて、外部からのアプリケーション選択コマンドによりアプリケーションが選択された際、当該選択されたアプリケーションが利用するメモリ領域を正常に動作するか否か自己診断する自己診断手段を有したICモジュールと、このICモジュールを収納したICカード本体とを具備している。
【0011】
さらに、本発明のICカードは、メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部装置からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部装置へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域を有していて、外部装置から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能なICカードにおいて、当該ICカードの活性化後、前記外部装置に対して初期応答データを出力する初期応答出力手段と、この初期応答出力手段により初期応答データが出力された後、前記外部装置からアプリケーション選択コマンドが入力されると、当該アプリケーション選択コマンドにより指定されたアプリケーションが登録されているか否かを判定する第1の判定手段と、この第1の判定手段による判定の結果、指定されたアプリケーションが登録されている場合、当該指定されたアプリケーションのプログラム領域は自己診断済か否かを判定する第2の判定手段と、この第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済でない場合、当該プログラム領域を正常に動作するか否か自己診断する第1の自己診断手段と、前記第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済の場合、あるいは、前記第1の自己診断手段による自己診断が終了すると、当該指定されたアプリケーションの作業用メモリ領域は自己診断済か否かを判定する第3の判定手段と、この第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済でない場合、当該作業用メモリ領域を正常に動作するか否か自己診断する第2の自己診断手段と、前記第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済の場合、あるいは、前記第2の自己診断手段による自己診断が終了した後、前記外部装置からコマンドが入力されると、当該コマンドに対する処理を実行するコマンド処理手段とを有したICモジュールと、このICモジュールを収納したICカード本体とを具備している。
【発明の効果】
【0012】
本発明によれば、動作するために最低限必要な機能のみに自己診断を行ない、その他の診断はアプリケーションが選択された場合に実行し、新たなアプリケーションが必要としている新たなリソースに対して自己診断を実施することで、リソースが増えた場合でも、活性化時に全てのリソースに対して自己診断するのではなく必要の範囲で順次診断を実施するので、自己診断の処理時間を著しく短縮することができる携帯可能電子装置およびICカードを提供できる。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態について図面を参照して説明する。
図1は、本実施の形態に係る携帯可能電子装置としてのICカードを取扱うICカードシステムの構成例を示すものである。このICカードシステムは、ICカード10をカードリーダ・ライタ11を介してパーソナルコンピュータなどの端末装置12と接続可能にするとともに、端末装置12にキーボード13、CRT表示部13、プリンタ15を接続して構成される。
【0014】
図2は、ICカード10の構成を示すもので、制御部としての制御素子101(以下、単にCPUともいう)、データメモリ102、ワーキングメモリ103、プログラムメモリ104、および、カードリーダ・ライタ12との電気的接触を得るためのコンタクト部105によって構成されている。そして、これらのうち、破線内の部分(制御素子101、データメモリ102、ワーキングメモリ103、プログラムメモリ104)は1つ(あるいは複数)のICチップで構成され、さらに、このICチップとコンタクト部105とが一体的にICモジュール化されて、ICカード本体C内に埋設されている。
【0015】
データメモリ102は、各種データの記憶に使用され、たとえば、EEPROMなどの記憶内容が書換え可能な不揮発性メモリで構成されている。以下、データメモリ102を単にEEPROMともいう。
【0016】
ワーキングメモリ103は、制御素子101が処理を行なう際の処理データなどを一時的に保持するための作業用メモリであり、たとえば、RAMなどで構成される。以下、ワーキングメモリ103を単にRAMともいう。
【0017】
プログラムメモリ104は、たとえば、マスクROMなどの記憶内容が書換え不可能な不揮発性メモリで構成されており、制御素子101の制御プログラム、および、複数のアプリケーションプログラムなどを記憶するものである。以下、プログラムメモリ104を単にROMともいう。
【0018】
図3は、データメモリ102の構成を示している。データメモリ102は、複数のアプリケーションに関するデータがファイル構造で記憶される。図3の例では、たとえば、2つのクレジット用アプリケーションが登録された状態を示している。
すなわち、最上位がマスタファイル(MF:Master File)201で、その配下には、各アプリケーションごとに設定されるフォルダとしてアプリケーションファイル(以下、単にADF(Application Dedicated File)ともいう)202,203が設けられ、さらに、これらアプリケーションファイル202,203の配下には、それぞれ実際にアプリケーションで仕様されるエレメンタリファイル(以下、単にEF(Elementary File)ともいう)204,205,206、207,208,209が設けられている構成になっている。
【0019】
図4は、本実施の形態におけるメモリマップを示しており、使用メモリ領域を示すアドレスとそのメモリの種類を示している。
図5は、本実施の形態におけるアプリケーションプログラム登録テーブルを示していて、アプリケーションの名称とそのアプリケーションが使用するプログラム領域およびRAM領域とからなり、これは例えばROM内に設けられている。
図6は、本実施の形態におけるアプリケーションプログラムデータ格納フォーマットの一例を示しており、プログラムデータとCRC(巡回符号)データとで構成されている。
図7は、RAM自己診断履歴テーブルを示していて、アプリケーションごとに使用するRAM領域の自己診断診断が実施されたか否かの履歴が格納されており、これは例えばRAM内に設けられている。
図8は、アプリケーションプログラムの自己診断履歴テーブルを示していて、アプリケーションごとにアプリケーションプログラム領域の自己診断が実施されたか否かの履歴が格納されており、これは例えばRAM内に設けられている。
【0020】
図9は、アプリケーション(ファイル)選択コマンドのフォーマット例を示している。図示するように、コマンド分類部CLA(class)、命令部INS(instruction)、パラメータ部P1,P2、データ長Le、および、データ(アプリケーション名)Dataから構成されており、CLA/INS=00/A4の場合がアプリケーション選択コマンドである。パラメータP1が「04」の場合がADF選択、「00」の場合がDF選択であり、「02」の場合がEF選択である。本例では、ADF選択の場合に自己診断を行なう。ADF選択以外の場合は、そのパラメータに対応した処理を行なう。
【0021】
次に、上記のような構成において、図10〜図11に示すフローチャートを参照してICカード10の動作について説明する。
【0022】
まず、カードリーダ・ライタ11からの活性化動作(リセット解除)により、当該ICカード10は活性化される(ステップS1)。活性化されると、CPU101は、自身の自己診断を行なう(ステップS2)。CPU101の自己診断としては、レジスタにデータが正常に書込まれ、正常に読出されるか確認を行なう。たとえば、データ「0xAA」を書込み、読出し、次にデータ「0x55」を書込み、読出す。これにより、レジスタ内のデータがビットごとに干渉しないで正常に動作することを確認する。正常に行なわれなかった場合は、その時点で動作を停止する。
【0023】
ステップS2における自己診断の結果、正常であることが確認されると、CPU101は、データの送信、受信のみに必要なRAMの領域(RAMの一部の領域)に対し自己診断を行なう(ステップS3)。RAMの自己診断としては、自己診断する領域のRAMの各バイトに対して、データが正常に書込まれ、正常に読出されるか確認を行なう。たとえば、データ「0xAA」を書込み、読出し、次にデータ「0x55」を書込み、読出す。これにより、各バイトのデータがビットごとに干渉しないで正常に動作することを確認する。確認する領域で異常が発生した場合は、その時点で動作を停止する。
【0024】
ステップS3における自己診断の結果、正常であることが確認されると、CPU101は、カードリーダ・ライタ11に対して初期応答データを送信し(ステップS4)、その後、カードリーダ・ライタ11から送信されるコマンドの受信を待機する(ステップS5)。
【0025】
カードリーダ・ライタ11からのコマンドを受信すると、CPU101は、まず、コマンドがCLA/INSコードからアプリケーション選択コマンドであるか確認する(ステップS6)。アプリケーション選択コマンド以外の場合は各コマンド処理を実行する(ステップS7)。
【0026】
アプリケーション選択コマンドの場合、CPU101は、パラメータP1が「04」、すなわちADF選択であるか確認し(ステップS8)、ADF選択以外の場合は、そのパラメータに対応した処理を行なう(ステップS9)。
【0027】
ADF選択であった場合、CPU101は、図5に示すアプリケーションプログラム登録テーブルから指定されたアプリケーションが登録されているか確認する(ステップS10)。たとえば、アプリケーション選択コマンドが図9の例であった場合、アプリケーション名が「A000000005112233」であるので、そのアプリケーション名であるADFとそれに対するプログラム領域、使用RAM領域が図5に示すように登録されている。
【0028】
なお、指定されたアプリケーションが登録されていない場合、CPU101は、指定されたADFは存在しないことを意味するエラー処理を行ない(ステップS1)、そのステータスをカードリーダ・ライタ11へ送信する(ステップS12)。
【0029】
図5に示すように、指定されたアプリケーションが登録されている場合、CPU101は、指定されたADFのプログラムが格納されているプログラム領域の自己診断が既に実施されているか確認する(ステップS13)。この確認は、RAM内に格納されている図8に示すアプリケーションプログラムの自己診断履歴テーブルを参照する。この確認の結果、自己診断が既に実施されている場合は、当該プログラム領域の自己診断はスキップする。
【0030】
指定されたADFのプログラムが格納されているプログラム領域の自己診断が実施されていない場合、CPU101は、当該プログラム領域の自己診断を行なう(ステップS14)。プログラム領域の自己診断は、アプリケーションプログラムデータ格納フォーマットは図6に示すように構成されているので、全領域データの最後にCRCデータをあらかじめ格納しておき、自己診断時に全データのCRCを計算し、あらかじめ登録しておいたCRCデータと比較し、一致していれば正常と判断するものである。
上記自己診断の結果、正常である場合、CPU101は、図8に示すアプリケーションプログラムの自己診断履歴テーブルに実施済を意味するデータをセットする。
上記自己診断の結果、異常である場合、CPU101は、自己診断異常を示すエラー処理を行ない(ステップS15)、そのステータスをカードリーダ・ライタ11へ送信する(ステップS12)。
【0031】
上記自己診断の結果、正常である場合、CPU101は、指定されたADFで使用するRAM領域の自己診断が既に実施されているか確認する(ステップS16)。この確認は、RAM内に格納されている図7に示すRAM自己診断履歴テーブルを参照する。この確認の結果、自己診断が既に実施されている場合は、当該RAM領域の自己診断はスキップする。
【0032】
指定されたADFで使用するRAM領域の自己診断が実施されていない場合、CPU101は、当該RAM領域の自己診断を行なう(ステップS17)。この場合、まず、図7に示すRAM自己診断履歴テーブルを参照することで、当該RAM領域が他のアプリケーションで既に自己診断されているかの確認を行なう。この確認の結果、当該RAM領域が他のアプリケーションで自己診断済であった場合、図5のアプリケーションプログラム登録テーブルを参照することにより、他のアプリケーションで使用した領域(自己診断済のRAM領域)のアドレスを記憶し、今回自己診断するRAM領域のアドレスと比較して、オーバーラップしていないRAM領域のみを自己診断する。
【0033】
ここで、図12〜図16を参照して具体例を説明する。
まず、図12の具体例1は、今回指定されたアプリケーション名が「A000000005112233」であるが、全てのアプリケーションで使用するRAM領域が「未実施」の場合である。したがって、この場合、RAMの自己診断領域は、図5のアプリケーションプログラム登録テーブルから「0x0000−0x2FFF」のアドレスとなる。
【0034】
次に、図13の具体例2は、同じく今回指定されたアプリケーション名が「A000000005112233」であるが、他のアプリケーションの1つ、図13の例ではアプリケーション名が「A000000005445566」のアプリケーションで使用するRAM領域が「実施済」の場合である。したがって、この場合、RAMの自己診断領域は、図5のアプリケーションプログラム登録テーブルから、「0x0000−0x2FFF」と「0x0000−0x1FFF」との差である「0x2000−0x2FFF」のアドレスとなる。
【0035】
次に、図14の具体例3は、同じく今回指定されたアプリケーション名が「A000000005112233」であるが、他のアプリケーションの1つ、図14の例ではアプリケーション名が「A000000005778899」のアプリケーションで使用するRAM領域が「実施済」の場合である。したがって、この場合、RAMの自己診断領域は、図5のアプリケーションプログラム登録テーブルから、今回指定されたアプリケーションのRAM領域「0x0000−0x2FFF」は既に「実施済」のRAM領域「0x0000−0x3FFF」に含まれているので、無しとなる。すなわち、今回指定されたアプリケーションのRAM領域の自己診断はスキップする。
【0036】
次に、図15の具体例4は、同じく今回指定されたアプリケーション名が「A000000005112233」であるが、他の全てのアプリケーション、図15の例ではアプリケーション名が「A000000005445566」、「A000000005778899」のアプリケーションで使用するRAM領域が「実施済」の場合である。したがって、この場合、RAMの自己診断領域は、図14の具体例3と同様に、今回指定されたアプリケーションのRAM領域「0x0000−0x2FFF」は既に「実施済」のRAM領域「0x0000−0x3FFF」に含まれているので、無しとなる。すなわち、今回指定されたアプリケーションのRAM領域の自己診断はスキップする。
【0037】
次に、図16の具体例5は、同じく今回指定されたアプリケーション名が「A000000005112233」であるが、当該アプリケーションで使用するRAM領域は既に他のアプリケーションにより「実施済」で、他の全てのアプリケーション、図16の例ではアプリケーション名が「A000000005445566」、「A000000005778899」のアプリケーションで使用するRAM領域が「未実施」の場合である。したがって、この場合、RAMの自己診断領域は、今回指定されたアプリケーションのRAM領域「0x0000−0x2FFF」は既に「実施済」であるので、無しとなる。すなわち、今回指定されたアプリケーションのRAM領域の自己診断はスキップする。
【0038】
ステップS17におけるRAM領域の自己診断は、自己診断する領域の各バイトに対して、データが正常に書込まれ、正常に読出されるか確認を行なう。たとえば、データ「0xAA」を書込み、読出し、次にデータ「0x55」を書込み、読出す。これにより、各バイトのデータがビットごとに干渉しないで正常に動作することを確認する。
【0039】
上記自己診断の結果、正常である場合、CPU101は、図7に示すRAM自己診断履歴テーブルに実施済を意味するデータをセットする。そして、CPU101は、当該コマンドに対する処理を実行し(ステップS19)、当該コマンド処理に対するレスポンスをカードリーダ・ライタ11へ送信し(ステップS20)、ステップS5に戻る。
【0040】
上記自己診断の結果、異常である場合、CPU101は、自己診断異常を示すエラー処理を行ない(ステップS18)、そのステータスをカードリーダ・ライタ11へ送信する(ステップS12)。
【0041】
以上説明したように、上記実施の形態によれば、ICカードの活性化後、当該ICカードが動作するために最低限必要な機能のみに自己診断を行ない、その他の診断はアプリケーションが選択された場合に実行し、新たなアプリケーションが必要としている新たなリソースに対して自己診断を実施する。
したがって、今後、ICカードのリソースが増えた場合でも、活性化時に全てのリソースに対して自己診断するのではなく、必要の範囲で順次診断を実施することで、自己診断の処理時間を著しく短縮することができる。
【図面の簡単な説明】
【0042】
【図1】本発明の実施の形態に係るICカードを取扱うICカードシステムの構成を概略的に示すブロック図。
【図2】ICカードの構成を概略的に示すブロック図。
【図3】データメモリ内のファイル構成の概念を模式的に示す図。
【図4】メモリマップを説明する図。
【図5】アプリケーションプログラム登録テーブルを説明する図。
【図6】アプリケーションプログラムデータ格納フォーマットの一例を示す図。
【図7】RAM自己診断履歴テーブルを説明する図。
【図8】アプリケーションプログラムの自己診断履歴テーブルを説明する図。
【図9】アプリケーション選択コマンドのフォーマット例を示す図。
【図10】動作を説明するフローチャート。
【図11】動作を説明するフローチャート。
【図12】動作の具体例1を説明する図。
【図13】動作の具体例2を説明する図。
【図14】動作の具体例3を説明する図。
【図15】動作の具体例4を説明する図。
【図16】動作の具体例5を説明する図。
【符号の説明】
【0043】
10…ICカード(携帯可能電子装置)、11…カードリーダ・ライタ(外部装置)、12…端末装置、13…キーボード、14…CRT表示部、15…プリンタ、101…制御素子(CPU)、102…データメモリ(EEPROM)、103…ワーキングメモリ(RAM)、104…プログラムメモリ(ROM)、105…コンタク部、201…マスタファイル(MF)、202,203…アプリケーションファイル(ADF)、204〜209…エレメンタリファイル(EF)。
【特許請求の範囲】
【請求項1】
メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに使用するメモリ領域を有していて、外部から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能な携帯可能電子装置において、
外部からのアプリケーション選択コマンドによりアプリケーションが選択された際、当該選択されたアプリケーションが利用するメモリ領域を正常に動作するか否か自己診断する自己診断手段を具備したことを特徴とする携帯可能電子装置。
【請求項2】
前記メモリ領域とは、当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域であることを特徴とする請求項1記載の携帯可能電子装置。
【請求項3】
前記自己診断手段は、アプリケーションごとに対応するメモリ領域が自己診断されているか否かを示す自己診断履歴テーブルを持つことを特徴とする請求項1記載の携帯可能電子装置。
【請求項4】
前記自己診断手段は、複数のアプリケーションが選択される場合で、各アプリケーションが使用するメモリ領域が重複する場合には、既に自己診断が済んでいるメモリ領域は自己診断しないことを特徴とする請求項1記載の携帯可能電子装置。
【請求項5】
メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部装置からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部装置へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域を有していて、外部装置から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能な携帯可能電子装置において、
当該携帯可能電子装置の活性化後、前記外部装置に対して初期応答データを出力する初期応答出力手段と、
この初期応答出力手段により初期応答データが出力された後、前記外部装置からアプリケーション選択コマンドが入力されると、当該アプリケーション選択コマンドにより指定されたアプリケーションが登録されているか否かを判定する第1の判定手段と、
この第1の判定手段による判定の結果、指定されたアプリケーションが登録されている場合、当該指定されたアプリケーションのプログラム領域は自己診断済か否かを判定する第2の判定手段と、
この第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済でない場合、当該プログラム領域を正常に動作するか否か自己診断する第1の自己診断手段と、
前記第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済の場合、あるいは、前記第1の自己診断手段による自己診断が終了すると、当該指定されたアプリケーションの作業用メモリ領域は自己診断済か否かを判定する第3の判定手段と、
この第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済でない場合、当該作業用メモリ領域を正常に動作するか否か自己診断する第2の自己診断手段と、
前記第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済の場合、あるいは、前記第2の自己診断手段による自己診断が終了した後、前記外部装置からコマンドが入力されると、当該コマンドに対する処理を実行するコマンド処理手段と、
を具備したことを特徴とする携帯可能電子装置。
【請求項6】
当該携帯可能電子装置の活性化後、前記初期応答出力手段により初期応答データが出力されるまでの間に少なくともデータの送受信に必要な機能に対してのみ正常に動作するか否かの自己診断を行なう第3の自己診断手段をさらに具備したことを特徴とする請求項5記載の携帯可能電子装置。
【請求項7】
メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに使用するメモリ領域を有していて、外部から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能なICカードにおいて、
外部からのアプリケーション選択コマンドによりアプリケーションが選択された際、当該選択されたアプリケーションが利用するメモリ領域を正常に動作するか否か自己診断する自己診断手段を有したICモジュールと、
このICモジュールを収納したICカード本体と、
を具備したことを特徴とするICカード。
【請求項8】
メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部装置からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部装置へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域を有していて、外部装置から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能なICカードにおいて、
当該ICカードの活性化後、前記外部装置に対して初期応答データを出力する初期応答出力手段と、この初期応答出力手段により初期応答データが出力された後、前記外部装置からアプリケーション選択コマンドが入力されると、当該アプリケーション選択コマンドにより指定されたアプリケーションが登録されているか否かを判定する第1の判定手段と、この第1の判定手段による判定の結果、指定されたアプリケーションが登録されている場合、当該指定されたアプリケーションのプログラム領域は自己診断済か否かを判定する第2の判定手段と、この第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済でない場合、当該プログラム領域を正常に動作するか否か自己診断する第1の自己診断手段と、前記第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済の場合、あるいは、前記第1の自己診断手段による自己診断が終了すると、当該指定されたアプリケーションの作業用メモリ領域は自己診断済か否かを判定する第3の判定手段と、この第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済でない場合、当該作業用メモリ領域を正常に動作するか否か自己診断する第2の自己診断手段と、前記第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済の場合、あるいは、前記第2の自己診断手段による自己診断が終了した後、前記外部装置からコマンドが入力されると、当該コマンドに対する処理を実行するコマンド処理手段とを有したICモジュールと、
このICモジュールを収納したICカード本体と、
を具備したことを特徴とするICカード。
【請求項1】
メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに使用するメモリ領域を有していて、外部から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能な携帯可能電子装置において、
外部からのアプリケーション選択コマンドによりアプリケーションが選択された際、当該選択されたアプリケーションが利用するメモリ領域を正常に動作するか否か自己診断する自己診断手段を具備したことを特徴とする携帯可能電子装置。
【請求項2】
前記メモリ領域とは、当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域であることを特徴とする請求項1記載の携帯可能電子装置。
【請求項3】
前記自己診断手段は、アプリケーションごとに対応するメモリ領域が自己診断されているか否かを示す自己診断履歴テーブルを持つことを特徴とする請求項1記載の携帯可能電子装置。
【請求項4】
前記自己診断手段は、複数のアプリケーションが選択される場合で、各アプリケーションが使用するメモリ領域が重複する場合には、既に自己診断が済んでいるメモリ領域は自己診断しないことを特徴とする請求項1記載の携帯可能電子装置。
【請求項5】
メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部装置からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部装置へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域を有していて、外部装置から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能な携帯可能電子装置において、
当該携帯可能電子装置の活性化後、前記外部装置に対して初期応答データを出力する初期応答出力手段と、
この初期応答出力手段により初期応答データが出力された後、前記外部装置からアプリケーション選択コマンドが入力されると、当該アプリケーション選択コマンドにより指定されたアプリケーションが登録されているか否かを判定する第1の判定手段と、
この第1の判定手段による判定の結果、指定されたアプリケーションが登録されている場合、当該指定されたアプリケーションのプログラム領域は自己診断済か否かを判定する第2の判定手段と、
この第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済でない場合、当該プログラム領域を正常に動作するか否か自己診断する第1の自己診断手段と、
前記第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済の場合、あるいは、前記第1の自己診断手段による自己診断が終了すると、当該指定されたアプリケーションの作業用メモリ領域は自己診断済か否かを判定する第3の判定手段と、
この第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済でない場合、当該作業用メモリ領域を正常に動作するか否か自己診断する第2の自己診断手段と、
前記第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済の場合、あるいは、前記第2の自己診断手段による自己診断が終了した後、前記外部装置からコマンドが入力されると、当該コマンドに対する処理を実行するコマンド処理手段と、
を具備したことを特徴とする携帯可能電子装置。
【請求項6】
当該携帯可能電子装置の活性化後、前記初期応答出力手段により初期応答データが出力されるまでの間に少なくともデータの送受信に必要な機能に対してのみ正常に動作するか否かの自己診断を行なう第3の自己診断手段をさらに具備したことを特徴とする請求項5記載の携帯可能電子装置。
【請求項7】
メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに使用するメモリ領域を有していて、外部から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能なICカードにおいて、
外部からのアプリケーション選択コマンドによりアプリケーションが選択された際、当該選択されたアプリケーションが利用するメモリ領域を正常に動作するか否か自己診断する自己診断手段を有したICモジュールと、
このICモジュールを収納したICカード本体と、
を具備したことを特徴とするICカード。
【請求項8】
メモリと、このメモリに対してデータの読出しおよびまたは書込みを行なう制御素子を有し、外部装置からコマンドが入力されると、このコマンドに対応した処理を実行してその処理結果を外部装置へ出力し、かつ、少なくとも1つ以上のアプリケーションが登録されているとともに、これらアプリケーションごとに当該アプリケーションが動作するためのプログラムを格納したプログラム領域および当該アプリケーションが使用する作業用メモリ領域を有していて、外部装置から入力されるアプリケーション選択コマンドにより所望のアプリケーションが選択可能なICカードにおいて、
当該ICカードの活性化後、前記外部装置に対して初期応答データを出力する初期応答出力手段と、この初期応答出力手段により初期応答データが出力された後、前記外部装置からアプリケーション選択コマンドが入力されると、当該アプリケーション選択コマンドにより指定されたアプリケーションが登録されているか否かを判定する第1の判定手段と、この第1の判定手段による判定の結果、指定されたアプリケーションが登録されている場合、当該指定されたアプリケーションのプログラム領域は自己診断済か否かを判定する第2の判定手段と、この第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済でない場合、当該プログラム領域を正常に動作するか否か自己診断する第1の自己診断手段と、前記第2の判定手段による判定の結果、指定されたアプリケーションのプログラム領域が自己診断済の場合、あるいは、前記第1の自己診断手段による自己診断が終了すると、当該指定されたアプリケーションの作業用メモリ領域は自己診断済か否かを判定する第3の判定手段と、この第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済でない場合、当該作業用メモリ領域を正常に動作するか否か自己診断する第2の自己診断手段と、前記第3の判定手段による判定の結果、指定されたアプリケーションの作業用メモリ領域が自己診断済の場合、あるいは、前記第2の自己診断手段による自己診断が終了した後、前記外部装置からコマンドが入力されると、当該コマンドに対する処理を実行するコマンド処理手段とを有したICモジュールと、
このICモジュールを収納したICカード本体と、
を具備したことを特徴とするICカード。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2006−252284(P2006−252284A)
【公開日】平成18年9月21日(2006.9.21)
【国際特許分類】
【出願番号】特願2005−69219(P2005−69219)
【出願日】平成17年3月11日(2005.3.11)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成18年9月21日(2006.9.21)
【国際特許分類】
【出願日】平成17年3月11日(2005.3.11)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]