JP4443699B2 - 携帯可能電子装置および携帯可能電子装置の制御方法 - Google Patents
携帯可能電子装置および携帯可能電子装置の制御方法 Download PDFInfo
- Publication number
- JP4443699B2 JP4443699B2 JP34656099A JP34656099A JP4443699B2 JP 4443699 B2 JP4443699 B2 JP 4443699B2 JP 34656099 A JP34656099 A JP 34656099A JP 34656099 A JP34656099 A JP 34656099A JP 4443699 B2 JP4443699 B2 JP 4443699B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- application
- data
- storage
- received
- 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.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
この発明は、書き込みあるいは書き換えが可能な不揮発性メモリやCPUなどの制御素子を有し、外部とのデータの入出力を行う手段を備えたICチップを内蔵したICカードと称される携帯可能電子装置に関する。
【0002】
【従来の技術】
従来、携帯可能電子装置としてのICカードは、書き込みあるいは書き換えが可能な不揮発性メモリやCPUなどの制御素子を有し、外部とのデータの入出力を行う手段を備えたICチップが内蔵されている。
【0003】
このようなICカードでは、1つのICカードに対して、複数のアプリケーションが記憶されている。各アプリケーションは、ICカードの動作目的に応じて利用される。例えば、1枚のICカードで複数のサービスを利用可能にする場合、各サービスごとに設計されたアプリケーションがICカード内に記憶される。これにより、ICカードを利用する際に、利用するサービスに対応したアプリケーションでICカードを動作させる。また、上記のようなICカードに記憶される各アプリケーションは、外部機器からのコマンドを受けて、そのコマンドに応じた処理を実行するようになっている。
【0004】
しかしながら、同一のコマンドは、異なるアプリケーションで動作する場合であっても、全く同一の機能しか持っていない。このため、アプリケーションによっては、あるコマンドの一部の機能しか使いたくない場合であっても、全く別のコマンドを用いて動作させなければならない。従って、類似したコマンドやコマンドの一部の機能のみを使いたい場合であっても個々の動作指示に応じて全てのコマンドを作成しなくてはならない。
【0005】
例えば、メモリ内に記憶されているあるデータ(レコード)を読み出す場合に利用される「リードレコード」コマンドでは、リードするレコードに対し、レコード番号による指定や、レコードIDによる指定が可能であるが、アプリケーションによっては、この中でレコード番号指定のみ使いたいという要求が生じることがある。この場合、従来のICカードでは、各アプリケーションに応じて異なるコマンドを作成しなくてはならない。
【0006】
上記のように、完全に同一の動作指示でなければ、類似した動作指示であっても各アプリケーションに応じたコマンドをそれぞれ作成する必要があり、プログラムコードの増大を招いているという問題点がある。
【0007】
【発明が解決しようとする課題】
上記したように、類似したコマンドであっても各アプリケーションに応じた別々のコマンドを作成する必要があり、プログラムコードの増大を招いているという問題点を解決するもので、異なるアプリケーションでコマンドの一部の機能を利用する場合、各アプリケーションに応じた別々のコマンドを作成する必要がなく、プログラムコードを減少させることができる携帯可能電子装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
この発明の携帯可能電子装置は、種々の機能を有するコマンドに応じてアプリケーションが動作するものにおいて、外部機器とのデータ通信を行う通信手段、この通信手段により外部機器から受信するコマンドに応じて動作する複数のアプリケーションを記憶する第1の記憶手段、上記第1の記憶手段により記憶されている各アプリケーションのデータを記憶位置あるいは識別子で指定するコマンドに対して、アプリケーションごとに上記記憶位置でのデータの指定あるいは上記識別子でのデータの指定を制限する情報が記憶される第2の記憶手段、および上記通信手段により外部機器からコマンドを受信した際に、上記第2の記憶手段により記憶している情報に基づいて、上記第1の記憶手段により記憶しているアプリケーションごとに受信したコマンドの機能を制限して実行する制御手段から構成されている。
【0009】
この発明の携帯可能電子装置は、種々の機能を有するコマンドに応じてアプリケーションが動作するものにおいて、外部機器とのデータ通信を行う通信手段、この通信手段により外部機器から受信するコマンドに応じて動作する複数のアプリケーションを記憶する第1の記憶手段、この第1の記憶手段により記憶されている少なくとも2つ以上のアプリケーションで共用されるコマンドに対して、アプリケーションごとにコマンドの機能を制限する情報を記憶する第2の記憶手段、および上記通信手段により外部機器からコマンドを受信した際に、上記第2の記憶手段により記憶している情報に基づいて、アプリケーションごとに受信したコマンドの機能を制限して実行する制御手段から構成され、上記第2の記憶手段は、上記第1の記憶手段により記憶されている各アプリケーションのデータを記憶位置あるいは識別子で指定するコマンドに対して、アプリケーションごとに上記記憶位置でのデータの指定あるいは上記識別子でのデータの指定を制限する情報が記憶される。
【0010】
この発明の携帯可能電子装置は、種々の機能を有するコマンドに応じてアプリケーションが動作するものにおいて、外部機器とのデータ通信を行う通信手段、この通信手段により外部機器から受信するコマンドに応じて動作する複数のアプリケーションを記憶する第1の記憶手段、この第1の記憶手段により記憶されている少なくとも2つ以上のアプリケーションで共用されるコマンドに対して、アプリケーションごとにコマンドの機能を制限する情報を記憶する第2の記憶手段、上記通信手段により外部機器からコマンドを受信した際に、上記第2の記憶手段に記憶されている情報に基づいて、受信したコマンドの機能が許可されているか禁止されているか判断する判断手段、この判断手段により受信したコマンドの機能が許可されていると判断した場合、受信したコマンドの機能を実行する実行手段、および上記判断手段により受信したコマンドの機能が禁止されていると判断した場合、受信したコマンドの機能の実行を禁止する禁止手段から構成され、上記第2の記憶手段は、上記第1の記憶手段により記憶されている各アプリケーションのデータを記憶位置あるいは識別子で指定するコマンドに対して、アプリケーションごとに上記記憶位置でのデータの指定あるいは上記識別子でのデータの指定を制限する情報が記憶される。
【0011】
この発明の携帯可能電子装置は、種々の機能を有するコマンドに応じてアプリケーションが動作するものにおいて、外部機器とのデータ通信を行う通信手段、この通信手段により外部機器から受信するコマンドに応じて動作する複数のアプリケーションを記憶する第1の記憶手段と、この第1の記憶手段により記憶されている少なくとも2つ以上のアプリケーションで共用されるコマンドに対して、アプリケーションごとにコマンドの機能を制限する情報を記憶する第2の記憶手段、上記通信手段により外部機器からコマンドを受信した際に、上記第2の記憶手段により記憶している情報に基づいて、アプリケーションごとに受信したコマンドの機能を制限して実行する制御手段、上記通信手段により外部機器から上記第2の記憶手段の記憶内容の書換えを指示する書換コマンドを受信した際に、受信した書換コマンドによる上記第2の記憶手段の書換えが正当か否かを判断する判断手段、この判断手段により書換コマンドが正当なものであると判断した場合、上記書換コマンドに基づいて上記第2の記憶手段の記憶内容を書換える処理を実行する実行手段、および上記判断手段により書換コマンドが正当なものでないと判断した場合、上記第2の記憶手段の記憶内容の書換えを禁止する禁止手段から構成され、上記第2の記憶手段は、上記第1の記憶手段により記憶されている各アプリケーションのデータを記憶位置あるいは識別子で指定するコマンドに対して、アプリケーションごとに上記記憶位置でのデータの指定あるいは上記識別子でのデータの指定を制限する情報が記憶される。
【0012】
【発明の実施の形態】
以下、この発明の実施の形態について図面を参照して説明する。
【0013】
図1は、この発明の実施の形態に係わる携帯可能電子装置としてのICカードを利用するICカードシステムの概略構成を示す図である。
【0014】
このICカードシステムは、ICカード101、リーダライタ(外部機器)102、端末103、キーボード104、CRT105、プリンタ106などから構成されている。
【0015】
上記リーダライタ102は、ICカード101へのデータの送信、ICカード101からのデータの受信を行うものである。上記端末103は、ICカード101以外の各部と接続され、システム全体を制御するものである。この端末103は、上記リーダライタ102を介してICカード101へ後述するコマンドを送信する。
【0016】
上記キーボード104は、動作指示や種々のデータを入力するものである。上記CRT105は、操作案内や処理結果などが表示されるものである。上記プリンタ106は、処理結果などを印刷するものである。上記キーボード104、CRT105、およびプリンタ106は、上記端末103に接続され、上記端末103からの動作指示に基づいて動作するようになっている。
【0017】
次に、ICカード101について説明する。
【0018】
図2は、ICカード101の構成例を示す図である。図2に示すように、上記ICカード101は、制御素子(制御手段、実行手段、禁止手段)201、データメモリ(記憶手段)202、ワーキングメモリ203、プログラムメモリ204、コンタクト部(通信手段)205などによって構成されている。
【0019】
上記のうち、図2の破線で囲まれている制御素子201、データメモリ202、ワーキングメモリ203、およびプログラムメモリ204は、1つあるいは複数のICチップ200で構成される。さらに、ICチップ200とコンタクト部205とは一体的にICモジュール化されて、ICカード101本体内に埋設されている。
【0020】
上記制御素子201は、ICカード101の全体を制御する制御部として機能する。上記データメモリ202は、記憶内容が消去および書換えが可能な不揮発性のメモリで構成されている。また、上記データメモリ202は、各種データやアプリケーションの記憶に使用され、たとえばEEPROMなどで構成されている。
【0021】
上記ワーキングメモリ203は、制御素子201が処理を行う際の処理データを一時的に保持するためのメモリであり、たとえば揮発性メモリ(RAM)などで構成される。上記プログラムメモリ204は、例えばマスクROMで構成されており、予め記憶される制御素子201のプログラムなどを記憶するものである。上記コンタクト部205は、上記リーダライタ102との電気的接触を得るためのモジュールで構成されている。
【0022】
なお、上記例では、コンタクト部205によりリーダライタ(外部機器)103と接触してデータ通信を行う接触式のICカードの構成について説明したが、外部機器と無線でデータ通信を行う非接触式のICカードであっても良い。この場合、上記コンタクト部205の代わりに、アンテナなどで構成される無線通信部を具備した構成となる。
【0023】
次に、ICカード101のデータメモリ202内で管理されるファイルの構造について説明する。
図3は、データメモリ202内で管理されるファイル構造を示す。図3に示すように、データメモリ202内で管理されるファイルは、通常、MF(マスターファイル;Master Fi1e)301、DF(ディジネテッドファイル;Dedicated FiIe)302、EF(エレメンタリーファイル;E1ementary Fi1e)303からなる。
【0024】
これらのファイルの構造は、DOS(ディスクオペレーティングシステム;Disk Operating System)などのOS(オペレーティングシステム;Operating System)で用いられるファイルのディレクトリ構造と同様なものである。
【0025】
すなわち、ICカード101のデータメモリ202のファイル構造は、ルートディレクトリとしてのMF301があり、その下にDF302が構成される。それぞれのDF302は、通常、各アプリケーションに相当し、その下に存在するEF303が各アプリケーションのデータファイルとして用いられる。
【0026】
次に、データメモリ202内に格納されるデータについて説明する。
【0027】
図4の(a)、(b)は、データメモリ202のEF303にデータを格納する際のレコードのフォーマット形式を示す図である。このフォーマットは、IS0/IEC7816−4にて規定されている簡易TLV(タグレングスバリュウ)コードフォーマットである。
【0028】
図4の(a)および(b)に示すように、EF303のレコードは、主に、タグ(Tag)部601、レングス(Length)部602、バリュウ(Va1ue)部603と呼ばれる3つのフィールドにより構成される。特に、上記バリュウ部603には、各アプリケーションで使用される各種データが格納される。
【0029】
図4の(a)は、バリュウ部603の長さが0〜127バイト以内の場合にのみ使用可能なフォーマットである。このときレングス部602には、バリュウ部603のバイト数を16進数にてコーディングしたものが格納される。
【0030】
また、図4の(b)は、バリュウ部603の長さが0〜65535バイトの場合に使用されるフォーマットである。この場合、レングス部602を’FF’とし、かつ、レングス部602とバリュウ部603との間にエクステンドレングス(ExtendedLength)部604を設け、バリュウ部603のバイト数を16進数にてコーディングする。
【0031】
上記タグ部601は、バリュウ部603の内容を示す識別子が記憶され、後述するレコードIDなどが記憶される。また、タグ部601には、外部のアプリケーションがデータメモリ202にデータを書込む際に、データに対応してリーダライタ102が指定する任意に値を設定できる。
【0032】
図5は、EF303内に複数のレコードが存在する場合を示す図である。図4(a)あるいは(b)に示すようなタグ部601、レングス部602およびバリュウ部603で構成されるレコードが複数存在する場合、各レコードは、図5に示すように、レコード番号701とタグ部に格納される識別子としてのレコードID601とで管理されている。
【0033】
ここで、レコード番号(記憶位置)701とは、データメモリ202上の記憶位置(物理的な場所)を示すものであり、各レコードに対して通し番号などが機械的に付与される。また、レコードID(識別子)は、各レコードの内容ごとに与えられ、各レコードのデータの関連性や種類などを示している。
【0034】
次に、ICカードシステムで用いられるコマンドについて説明する。
【0035】
このコマンドは、ICカードシステムの端末103がICカード101に対して動作指示を行う際に、リーダライタ102からICカード101に送信される。これに対して、ICカード101では、受信したコマンドに基づいて動作を実行するようになっている。
【0036】
また、図5に示すような複数のレコードを有するICカード101に対してレコードを指定する場合、ICカードシステムは、レコード番号701または、レコードID(タグ部)601のどちらでも指定することができる。
【0037】
例えば、ICカードシステムがリードレコード(READRECORD(S))コマンドを用いてデータの読み出しを行う場合、レコード番号701あるいはレコードID(タグ部)601を指定してレコードを読み出すことができる。従って、リードレコードコマンドの場合、レコード番号701だけでなく、タグ部601の識別子としてのレコードIDを検索キーにしてレコードにアクセスすることができる。
【0038】
また、例えば、ライトレコード(WRITERECORD)コマンドを用いて、ICカード101にデータを書き込む場合、書き込みデータの一部としてタグ部601に書込むレコードIDを通知する。これにより、ICカード101には、データのみだけでなく、データを格納するレコードのレコードIDを書込む(書換える)ことができる。
【0039】
ここで、上記タグ部601に書込む値(レコードID)としては、’00’〜’FE’(IS0/IEC7816−4では、’FF’は将来の利用のため留保する(Reserved for Future Use)となっている)の範囲以内で選択可能であり、特に、’00’は「意味無し」タグを示す。
【0040】
次に、ICカードシステムで用いられるコマンドの構造について説明する。
図6は、ICカードシステムで用いられるコマンド401の基本構造を示すものである。図6に示すように、ICカードシステムで用いられるコマンドは、コマンドヘッダ(Header)402とコマンドボディ(Body)403から構成される。上記コマンドヘッダ402は、クラスコード(CLA)404、インストラクションコード(INS)405、パラメータ(P1)406、パラメータ(P2)407からなる。上記コマンドボディ403は、Lcフィールド408、データフィールド409、およびLeフィールドなどから構成される。
【0041】
上記クラスコード404と上記インストラクションコード405とは、コマンド401の種類を限定する。さらに、上記パラメータ(P1)406と上記パラメータ(P2)407とは、コマンド401の機能を特定する。上記Lcフィールド408は、後に続くデータフィールド409の長さを示す。上記データフィールド409は各種データが格納される。上記Leフィールド410は、当該コマンド401に対する返りの期待長(返信データの長さ)を示している。
【0042】
次に、図7の(A)〜(D)は、上記のようなコマンドの基本構造に基づき種々のコマンドで利用されるコマンドフォーマットを示すものである。図7の(A)では、コマンドヘッダ402のみからなるコマンド501の構成を示す(ケース1)。図7の(B)では、コマンドヘッダ402とLeフィールド410とからなるコマンド502の構成を示す(ケース2)。
【0043】
図7の(C)では、コマンドヘッダ402、Lcフィールド408、およびデータフィールド409からなるコマンド503の構成を示す(ケース3)。図7の(D)では、コマンドヘッダ402、Lcフィールド408、データフィールド409、Leフィールド410からなるコマンド504の構成を示す(ケース4)。
【0044】
図8は、リードレコードコマンドのコマンドフォーマットを説明するための図である。図8はリードレコードコマンドのフォーマットを示す。図8に示すように、リードレコードコマンドの場合、コマンドは上述したケース2の種類のコマンド502である。
【0045】
従って、リードレコードコマンドは、コマンドヘッダ402であるクラスコード404、インストラクションコード405、パラメータ(P1)406、およびパラメータ(P2)407と、コマンドボディ403であるレングス(Le)410から構成される。
【0046】
また、リードレコードコマンドでは、リードレコードコマンドであることを示すデータとして、クラスコード404が’00’、インストラクションコード405が’B2’となっている。さらに、パラメータ(P1)406には、読み出すレコード番号701、またはレコードID601を指定するデータが格納される。
【0047】
図9は、パラメータ(P1)407のコーディング法を説明するための図である。このパラメータ407は、8ビットで構成される。これに対応して、8ビットの各ビットをa8〜a1として説明する。なお、ここではa8〜a4のコーディング方法については省略する。
【0048】
まず、パラメータ407のa3、a2、a1については、a3=1の場合、レコード番号701によるアクセスを意味するようになっている。
【0049】
従って、(a3、a2、a1)=(1、0、0)の場合、パラメータ406で指定されるレコード番号701の指定レコードのみを読み出すことを意味する。
【0050】
(a3、a2、a1)=(1、0、1)の場合、パラメータ406で指定されるレコード番号701から最後に存在するレコード番号701のレコードまでを読み出すことを意味する。
【0051】
(a3、a2、a2)=(1、1、0)の場合、最後に存在するレコード番号701のレコードから、パラメータ406で指定されるレコード番号701までを読み出すことを意味する。
【0052】
一方、a3=0の場合、レコードID(タグ部)601によるアクセスを意味する。
【0053】
よって、(a3、a2、a1)=(0、0、0)の場合、パラメータ406で指定されるレコードID601を有する先頭レコードを読み出すことを意味する。
【0054】
(a3、a2、a1)=(0、0、1)の場合、パラメータ406で指定されるレコードID601を有する最終レコードを読み出すことを意味する。
【0055】
(a3、a2、a1)=(0、1、0)の場合、パラメータ406で指定されるレコードID(601)を有する次レコードを読み出すことを意味する。
【0056】
(a3、a2、a1)=(0、1、1)の場合、パラメータ406で指定されるレコードID(601)を有する前レコードを読み出すことを意味する。
【0057】
なお、レングス(Le)410ではレコードを読み出すバイト数が指定されるようになっている。
【0058】
次に、上記のように構成されるコマンドの機能の制限について説明する。
【0059】
図10は、図8に示すようなリードレコードコマンドの機能を制限するコマンド機能制限テーブル901の例を示す図である。この例では、図9に示すようなコマンドにおける、(a3、a2、a1)の各ビットにより表される機能を制限する。
【0060】
このコマンド機能制限テーブル901は、プログラム設計時以後に機能変更が行われない場合、プログラムメモリ(ROM)に存在しても良い。また、ICカード発行時にコマンド機能制限テーブル901を決定する場合や、発行後にコマンド機能制限テーブル901の内容の書き換えが行われる場合などは、データメモリ(不揮発性メモリ、EEPROM)202などに各アプリケーションに対応して存在させておく。
【0061】
図10に示すように、コマンド機能制限テーブル901は、例えば、上記の図9に示すような機能を有するリードレコードコマンドに対しては、(b8、b7、b6、b5、b4、b3、b2、b1)といった8ビットのデータで構成される。なお、このコマンド機能制限テーブル901は、コマンドの種々の機能に応じて設定されるもので、図10に示すコマンド機能制限テーブル901では、図9に示す機能に対応する部分を示している。
【0062】
図10に示す例では、各ビットが、コマンドが有する種々の機能に対して、機能の許可を示す’0’か、機能の禁止を示す’1’かが設定される。
【0063】
図10では、b8は、レコード番号指定「指定レコード」機能に対応しており、’0’が設定されている場合、レコード番号よるレコードの指定を許可し、’1’が設定されている場合、レコード番号よるレコードの指定を禁止することを示している。
【0064】
b7は、レコード番号による指定が「指定レコードから最終レコード」の機能に対応しており、’0’が設定されている場合、指定するレコード番号から順に最終レコードまでのレコードを指定することを許可し、’1’が設定されている場合、指定するレコード番号から順に最終レコードまでのレコードを指定することを禁止する。
【0065】
b6は、レコード番号による指定が「最終レコードから指定レコード」の機能に対応しており、’0’が設定されている場合、最終レコードから順にパラメータ406が示す指定レコードまでのレコードを指定することを許可し、’1’が設定されている場合、最終レコードから順にパラメータ406が示す指定レコードまでのレコードを指定することを禁止する。
【0066】
b5は、レコードIDによる指定が「指定IDを有する次レコード」の機能に対応しており、’0’が設定されている場合、指定されたレコードIDを有する次のレコードを指定することを許可し、’1’が設定されている場合、指定されたレコードIDを有する次のレコードを指定することを禁止する。
【0067】
b4は、レコードIDによる指定が「指定IDを有する前レコード」の機能に対応しており、’0’が設定されている場合、指定されたレコードIDを有する前のレコードを指定することを許可し、’1’が設定されている場合、指定されたレコードIDを有する前のレコードを指定することを禁止する。
【0068】
b3は、レコードIDによる指定が「指定IDを有する先頭レコード」の機能に対応しており、’0’が設定されている場合、指定されたレコードIDを有する先頭のレコードを指定することを許可し、’1’が設定されている場合、指定されたレコードIDを有する先頭のレコードを指定することを禁止する。
【0069】
b2は、レコードIDによる指定が「指定IDを有する最終レコード」の機能に対応しており、’0’が設定されている場合、指定されたレコードIDを有する最終のレコードを指定することを許可し、’1’が設定されている場合、指定されたレコードIDを有する最終のレコードを指定することを禁止する。
【0070】
b1は、未使用とする。
【0071】
このように機能に対して個別に許可あるいは禁止を示すテーブルを持つことによって、複数のアプリケーションで共用されるコマンドの細かい機能の制限が可能である。また、これらb8〜b2は、機能全体が使えるならば、すべて許可「0」とすれば良いし、逆にすべて禁止「1」の場合には、このコマンド自体が使用不可能とすることができる。
【0072】
次に、上記のようなコマンド機能制限テーブル901で制限されるコマンドによるICカード101の動作について図11に示すフローチャートを参照しつつ説明する。
【0073】
ここで、リーダライタ(外部機器)102にICカード101をセットすると、ICカード101にはリーダライタ102からコマンドが送信される。すると、ICカード101の制御素子201は、コンタクト部205を介してこのコマンドを受信する(ステップ1)。
【0074】
リーダライタ102からのコマンドを受信した制御素子201は、リードレコードコマンドのパラメータ406およびパラメータ407を参照してこのコマンドの機能を判定する。この判定によりコマンドの機能を判定すると、制御素子201は、コマンド機能制限テーブル901を参照して、該当機能が許可か禁止かを判断する(ステップ2)。
【0075】
この判断により受信したコマンドの機能が禁止されていると判断した場合、制御素子201は、「機能未サポート」などのエラーメッセージを返すことにより、機能の動作が禁止されている旨をリーダライタ102に返信する(ステップ3)。
【0076】
また、該当機能の動作が許可されていると判断した場合、制御素子201は、受信したコマンドの機能に基づいて処理を実行する(ステップ4)。
【0077】
例えば、リーダライタ102からレコード番号によるアクセス(P2=×、××、×、×、1、0、0)の機能を有するリードレコードコマンドを受信した際(ステップ1)、制御素子201は、コマンド機能制限テーブル901に基づいてレコード番号によるアクセスが許可されているか禁止されているかを判断する(ステップ2)。
【0078】
この判断によりレコード番号によるアクセスが許可されていると判断した場合、制御素子201は、パラメータ(P1)406で指定されるレコード番号のレコードの読み出しを実行する(ステップ3)。
【0079】
また、レコード番号によるアクセスが禁止されていると判断した場合、制御素子201は、「機能未サポート」などのエラーメッセージをリーダライタ102に返信する(ステップ4)。
【0080】
上記のように、各アプリケーションごとに、各コマンドの種々の機能による処理が許可されているか禁止されているかを設定し、コマンドを受けた際に、そのコマンドの機能が制限されているか否かを判断し、この判断に基づいて動作を制御するようにしたものである。
【0081】
これにより、各アプリケーションごとに、各コマンドに対して特定の機能のみを利用したいという要求を満足することができ、プログラムコードの減少させることができる。
【0082】
また、リードレコードコマンドは、リードするレコードに対し、レコード番号による指定や、レコードIDによる指定が可能であるが、アプリケーションによって、レコード番号による指定のみ、あるいはレコードIDによる指定のみを使いたいという要求が生じた場合、レコードIDによる指定、あるいはレコード番号による指定を禁止するようにしたものである。
【0083】
これにより、各アプリケーション毎に、異なるコマンドを作成する必要がなくなり、プログラムコードの減少が期待できる。
【0084】
次に、コマンド機能制限テーブル901の書換え処理について説明する。
【0085】
図12は、コマンド機能制限テーブル901とこのテーブルの書換を許可するキーを格納するエレメンタリーファイル(EF)1003を示す図である。
【0086】
この場合、図12に示すように、各アプリケーションが格納されるDF1002に対して、コマンド機能制限テーブル901がEF1004内に存在する。さらに、各アプリケーションの下の階層には、コマンド機能制限テーブル901を書き換える権限をもつキーが格納されるEF(IEFと呼ぶ)1003が存在する。
【0087】
上記IEF1003に格納されるキーは、外部機器からコマンド機能制限テーブルの内容を書換えるコマンドを受信した際に、そのコマンドが書換えの権限を有するか否かを外部機器からのキー情報と照合することにより判断するものである。
【0088】
次に、コマンド機能制限テーブル901を書換える際の動作について図13に示すフローチャートを参照しつつ説明する。
【0089】
まず、コマンド機能制限テーブル901を書換える場合、ICカード101をリーダライタ(外部機器)102にセットすると、リーダライタ102からコマンド機能テーブル901の書換コマンドと書換の権限を判定するためのキー情報とが送信される(ステップ11)。すると、ICカード101は、リーダライタ102からのキー情報と、IEF1003内に格納されている照合用のキーとの照合処理を行う(ステップ12)。
【0090】
なお、上記例では、外部機器から送信されるキー情報がコマンド機能テーブル901の書換コマンドとともに送信されるようにしたが、コマンド機能テーブル901の書換コマンドを送信した後に、ICカード101からのキーの要求に応じてキー情報が送信されるようにしても良い。
【0091】
また、外部機器から先にキー情報が送信され、このキー情報に対するキーの照合が成功した場合に、外部機器からコマンド機能テーブル901の書換コマンドが送信されるようにしても良い。
【0092】
上記キーの照合処理の結果、キーの照合に成功した場合(ステップ13)、制御素子201は、コマンド機能制限テーブル901の書換を可能とし、受信したコマンドに応じてコマンド機能制限テーブル901の内容を書換える(ステップ14)。
【0093】
また、上記キー照合処理の結果、キーの照合に失敗した場合(ステップ13)、制御素子201は、コマンド機能制限テーブル901の書換えを不可とし、リーダライタ102にエラーメッセージを返し(ステップ15)、コマンド機能制限テーブル901の書換えを実行しないようにする。
【0094】
上記のように、コマンド機能制限テーブルを書換える際に、予め設定されているキーとの照合を行い、キーが照合した場合にのみ、コマンド機能制限テーブルの書換を許可するようにしたものである。
【0095】
これにより、正当なキーが用いられる場合にのみコマンド機能制限テーブルを書換え可能とし、無制限にコマンド機能制限テーブルが書換えられることを防ぐことができる。
【0096】
【発明の効果】
以上詳述したように、この発明によれば、コマンドの一部の機能を利用する場合、それぞれの指示内容に応じたコマンドを作成する必要がなく、プログラムコードを減少させることができる携帯可能電子装置を提供できる。
【図面の簡単な説明】
【図1】この発明の実施の形態にかかわるICカードシステムの概略構成を示す図。
【図2】ICカードの構成を示す図。
【図3】データメモリ内のファイル構造を示す図。
【図4】レコードの構造を示す図。
【図5】複数のレコードが存在する場合の構成を示す図。
【図6】コマンドの基本構造を示す図。
【図7】種々のコマンドの構造を示す図。
【図8】リードレコードコマンドの構造を示す図。
【図9】リードレコードコマンドのパラメータの値とその意味づけを示す図。
【図10】コマンド機能制限テーブルとその意味づけを説明するための図。
【図11】コマンド機能制限テーブルを用いた動作を説明するためのフローチャート。
【図12】コマンド機能制限テーブルを有するEFと照合用のキーが格納されるEFの構成例を示す図。
【図13】コマンド機能制限テーブルの書換えの動作を説明するためのフローチャート。
【符号の説明】
101…ICカード
102…リーダライタ
103…端末
201…制御素子(制御手段、実行手段、禁止手段)
202…データメモリ(記憶手段、第1の記憶手段)
203…ワーキングメモリ
204…プログラムメモリ
205…コンタクト部(通信手段)
901…コマンド機能制限テーブル(第2の記憶手段)
Claims (8)
- 種々の機能を有するコマンドに応じてアプリケーションが動作する携帯可能電子装置において、
外部機器とのデータ通信を行う通信手段と、
この通信手段により外部機器から受信するコマンドに応じて動作する複数のアプリケーションを記憶する第1の記憶手段と、
上記第1の記憶手段により記憶されている各アプリケーションのデータを記憶位置あるいは識別子で指定するコマンドに対して、アプリケーションごとに上記記憶位置でのデータの指定あるいは上記識別子でのデータの指定を制限する情報が記憶される第2の記憶手段と、
上記通信手段により外部機器からコマンドを受信した際に、上記第2の記憶手段により記憶している情報に基づいて、上記第1の記憶手段により記憶しているアプリケーションごとに受信したコマンドの機能を制限して実行する制御手段と、
を具備することを特徴とする携帯可能電子装置。 - 種々の機能を有するコマンドに応じてアプリケーションが動作する携帯可能電子装置において、
外部機器とのデータ通信を行う通信手段と、
この通信手段により外部機器から受信するコマンドに応じて動作する複数のアプリケーションを記憶する第1の記憶手段と、
この第1の記憶手段により記憶されている少なくとも2つ以上のアプリケーションで共用されるコマンドに対して、アプリケーションごとにコマンドの機能を制限する情報を記憶する第2の記憶手段と、
上記通信手段により外部機器からコマンドを受信した際に、上記第2の記憶手段により記憶している情報に基づいて、アプリケーションごとに受信したコマンドの機能を制限して実行する制御手段と、を具備し、
上記第2の記憶手段は、上記第1の記憶手段により記憶されている各アプリケーションのデータを記憶位置あるいは識別子で指定するコマンドに対して、アプリケーションごとに上記記憶位置でのデータの指定あるいは上記識別子でのデータの指定を制限する情報が記憶される、
ことを特徴とする携帯可能電子装置。 - 種々の機能を有するコマンドに応じてアプリケーションが動作する携帯可能電子装置において、
外部機器とのデータ通信を行う通信手段と、
この通信手段により外部機器から受信するコマンドに応じて動作する複数のアプリケーションを記憶する第1の記憶手段と、
この第1の記憶手段により記憶されている少なくとも2つ以上のアプリケーションで共用されるコマンドに対して、アプリケーションごとにコマンドの機能を制限する情報を記憶する第2の記憶手段と、
上記通信手段により外部機器からコマンドを受信した際に、上記第2の記憶手段に記憶されている情報に基づいて、受信したコマンドの機能が許可されているか禁止されているか判断する判断手段と、
この判断手段により受信したコマンドの機能が許可されていると判断した場合、受信したコマンドの機能を実行する実行手段と、
上記判断手段により受信したコマンドの機能が禁止されていると判断した場合、受信したコマンドの機能の実行を禁止する禁止手段と、を具備し、
上記第2の記憶手段は、上記第1の記憶手段により記憶されている各アプリケーションのデータを記憶位置あるいは識別子で指定するコマンドに対して、アプリケーションごとに上記記憶位置でのデータの指定あるいは上記識別子でのデータの指定を制限する情報が記憶される、
ことを特徴とする携帯可能電子装置。 - 上記禁止手段は、受信したコマンドの機能が実行できない旨を示す情報を送信元に返信すること特徴とする上記請求項3に記載の携帯可能電子装置。
- 種々の機能を有するコマンドに応じてアプリケーションが動作する携帯可能電子装置において、
外部機器とのデータ通信を行う通信手段と、
この通信手段により外部機器から受信するコマンドに応じて動作する複数のアプリケーションを記憶する第1の記憶手段と、
この第1の記憶手段により記憶されている少なくとも2つ以上のアプリケーションで共用されるコマンドに対して、アプリケーションごとにコマンドの機能を制限する情報を記憶する第2の記憶手段と、
上記通信手段により外部機器からコマンドを受信した際に、上記第2の記憶手段により記憶している情報に基づいて、アプリケーションごとに受信したコマンドの機能を制限して実行する制御手段と、
上記通信手段により外部機器から上記第2の記憶手段の記憶内容の書換えを指示する書換コマンドを受信した際に、受信した書換コマンドによる上記第2の記憶手段の書換えが正当か否かを判断する判断手段と、
この判断手段により書換コマンドが正当なものであると判断した場合、上記書換コマンドに基づいて上記第2の記憶手段の記憶内容を書換える処理を実行する実行手段と、
上記判断手段により書換コマンドが正当なものでないと判断した場合、上記第2の記憶手段の記憶内容の書換えを禁止する禁止手段と、を具備し、
上記第2の記憶手段は、上記第1の記憶手段により記憶されている各アプリケーションのデータを記憶位置あるいは識別子で指定するコマンドに対して、アプリケーションごとに上記記憶位置でのデータの指定あるいは上記識別子でのデータの指定を制限する情報が記憶される、
ことを特徴とする携帯可能電子装置。 - 上記判断手段は、上記第2の記憶手段の書換コマンドとともに受信するキー情報と、予め設定されているキー情報との照合を行うことにより上記書換コマンドが正当か否かを判断することを特徴とする上記請求項5に記載の携帯可能電子装置。
- 種々の機能を有するコマンドに応じてアプリケーションが動作する携帯可能電子装置の制御方法において、
この通信手段により外部機器から受信するコマンドに応じて動作する複数のアプリケーションを第1の記憶手段に記憶しておき、
上記第1の記憶手段により記憶されている各アプリケーションのデータを記憶位置あるいは識別子で指定するコマンドに対して、アプリケーションごとに上記記憶位置でのデータの指定あるいは上記識別子でのデータの指定を制限する情報を第2の記憶手段に記憶しておき、
外部機器とのデータ通信を行い、
この通信により外部機器からコマンドを受信した際に、上記第2の記憶手段により記憶している情報に基づいて、上記第1の記憶手段により記憶しているアプリケーションごとに受信したコマンドの機能を制限して実行する、
ことを特徴とする携帯可能電子装置の制御方法。 - 種々の機能を有するコマンドに応じてアプリケーションが動作する携帯可能電子装置の制御方法において、
この通信手段により外部機器から受信するコマンドに応じて動作する複数のアプリケーションを第1の記憶手段に記憶しておき、
上記第1の記憶手段により記憶されている少なくとも2つ以上のアプリケーションで共用されるコマンドに対してアプリケーションごとにコマンドの機能を制限する情報として、上記第1の記憶手段により記憶されている各アプリケーションのデータを記憶位置あるいは識別子で指定するコマンドに対して、アプリケーションごとに上記記憶位置でのデータの指定あるいは上記識別子でのデータの指定を制限する情報を第2の記憶手段に記憶しておき、
外部機器とのデータ通信を行い、
この通信により外部機器からコマンドを受信した際に、上記第2の記憶手段により記憶している情報に基づいて、アプリケーションごとに受信したコマンドの機能を制限して実行する、
ことを特徴とする携帯可能電子装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34656099A JP4443699B2 (ja) | 1999-12-06 | 1999-12-06 | 携帯可能電子装置および携帯可能電子装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34656099A JP4443699B2 (ja) | 1999-12-06 | 1999-12-06 | 携帯可能電子装置および携帯可能電子装置の制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001167236A JP2001167236A (ja) | 2001-06-22 |
JP4443699B2 true JP4443699B2 (ja) | 2010-03-31 |
Family
ID=18384261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34656099A Expired - Lifetime JP4443699B2 (ja) | 1999-12-06 | 1999-12-06 | 携帯可能電子装置および携帯可能電子装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4443699B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4734838B2 (ja) * | 2004-03-24 | 2011-07-27 | 凸版印刷株式会社 | 情報記録媒体とプログラム、及びコマンド実行制御方法 |
JP4594639B2 (ja) * | 2004-03-31 | 2010-12-08 | 株式会社東芝 | 携帯可能電子装置 |
JP5098298B2 (ja) * | 2006-11-02 | 2012-12-12 | 大日本印刷株式会社 | 情報処理媒体及び情報処理媒体用プログラム |
JP5537036B2 (ja) * | 2007-02-07 | 2014-07-02 | 株式会社東芝 | Icカード |
KR100990384B1 (ko) * | 2008-07-10 | 2010-10-29 | 주식회사 비즈모델라인 | 단일 애플리케이션(또는 데이터)에 대한 복수 구동을 위한아이씨 카드 |
JP5198607B2 (ja) * | 2011-03-14 | 2013-05-15 | 株式会社東芝 | 携帯可能電子装置、icカードおよびicモジュール |
JP6232972B2 (ja) * | 2013-11-25 | 2017-11-22 | 凸版印刷株式会社 | 可搬型電子媒体、及び入出力機能制御方法 |
-
1999
- 1999-12-06 JP JP34656099A patent/JP4443699B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001167236A (ja) | 2001-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0451936B1 (en) | Program control system for portable data storage device | |
JP3662946B2 (ja) | ファイル管理方式および携帯可能電子装置 | |
KR100575509B1 (ko) | 메모리 카드 | |
JP2537199B2 (ja) | Icカ―ド | |
JP5329884B2 (ja) | 携帯可能電子装置および携帯可能電子装置におけるデータ処理方法 | |
US6453397B1 (en) | Single chip microcomputer internally including a flash memory | |
US7775423B2 (en) | Portable electronic device and control method of portable electronic device | |
US4839792A (en) | Portable electronic apparatus with a device for determining data validity | |
JPH06274397A (ja) | ファイル管理方式 | |
JP3445304B2 (ja) | ファイル管理装置 | |
JP4443699B2 (ja) | 携帯可能電子装置および携帯可能電子装置の制御方法 | |
EP0950982B1 (en) | Portable electronic apparatus | |
JP3545627B2 (ja) | 携帯可能電子装置 | |
JP7020969B2 (ja) | 携帯可能電子装置、及びicカード | |
JP4445718B2 (ja) | Icカード及びicカードプログラム | |
JP3620834B2 (ja) | 携帯可能電子装置及びその初期応答の出力方法 | |
EP1079340A2 (en) | Integrated circuit card protected from unauthorized access | |
JP3782261B2 (ja) | 携帯可能電子装置 | |
US7296289B2 (en) | Setting or changing an access condition for an access management apparatus and method of a portable electronic device | |
JP4950730B2 (ja) | 携帯可能電子装置、携帯可能電子装置におけるファイルアクセス方法およびicカード | |
JP2005011147A (ja) | Icカード及びicカードプログラム | |
JPH01263892A (ja) | 携帯可能電子装置 | |
JP3017736B2 (ja) | 携帯可能電子装置 | |
JP3302348B2 (ja) | 携帯可能電子装置およびキー照合方法 | |
JP2006293706A (ja) | アプリケーションの更新機能を有するマルチアプリケーションicカード |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090407 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090608 |
|
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: 20091215 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100113 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4443699 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130122 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130122 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140122 Year of fee payment: 4 |
|
EXPY | Cancellation because of completion of term |