JP4393733B2 - 携帯可能情報記録媒体 - Google Patents

携帯可能情報記録媒体 Download PDF

Info

Publication number
JP4393733B2
JP4393733B2 JP2001360284A JP2001360284A JP4393733B2 JP 4393733 B2 JP4393733 B2 JP 4393733B2 JP 2001360284 A JP2001360284 A JP 2001360284A JP 2001360284 A JP2001360284 A JP 2001360284A JP 4393733 B2 JP4393733 B2 JP 4393733B2
Authority
JP
Japan
Prior art keywords
application
command
application program
work area
external device
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 - Fee Related
Application number
JP2001360284A
Other languages
English (en)
Other versions
JP2003162698A (ja
Inventor
和義 入澤
直人 柴田
哲夫 神力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to JP2001360284A priority Critical patent/JP4393733B2/ja
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to CNB028184440A priority patent/CN1288591C/zh
Priority to KR1020047005182A priority patent/KR100948120B1/ko
Priority to DE60237783T priority patent/DE60237783D1/de
Priority to PCT/JP2002/012219 priority patent/WO2003046826A1/ja
Priority to US10/486,676 priority patent/US7367047B2/en
Priority to EP02788638A priority patent/EP1450299B1/en
Priority to TW091134434A priority patent/TWI272540B/zh
Publication of JP2003162698A publication Critical patent/JP2003162698A/ja
Application granted granted Critical
Publication of JP4393733B2 publication Critical patent/JP4393733B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3574Multiple applications on card
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Credit Cards Or The Like (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は携帯可能情報記録媒体に関し、特に、必要に応じて外部装置と接続し、この外部装置との間でコマンドおよびレスポンスのやりとりを行うことにより、記録対象となるユーザデータを内部に記録するとともに種々の処理を行う機能をもった携帯可能情報記録媒体に関する。
【0002】
【従来の技術】
近年、半導体回路の集積化の進歩とともに、携帯可能情報記録媒体の情報記録容量も飛躍的に向上してきており、特に、ICカードをはじめとするCPUを内蔵した携帯可能情報記録媒体は、今後も様々な分野での需要が期待されている。たとえば、CPU内蔵型のICカードの場合、必要に応じて外部装置(リーダライタ装置)と接続され、この外部装置との間でコマンドおよびレスポンスをやりとりすることにより所定の処理を実行する機能を有している。どのようなコマンドを与えると、ICカード内部でどのような処理が実行されるかは、ICカードに組み込まれたOSプログラムおよびアプリケーションプログラムによって定まるため、通常、個々の用途に応じた処理機能を有する専用のアプリケーションプログラムがICカード内に組み込まれる。たとえば、同一のICカードを、病院の診察カードとして利用するとともに、金融口座用カードとして利用する場合であれば、診察カード用アプリケーションプログラムと、金融口座用アプリケーションプログラムとの双方が、当該ICカードに組み込まれることになる。このように、最近では、ICカードに内蔵されるメモリ容量も飛躍的に向上してきたため、複数のアプリケーションプログラムを予め組み込んだ多用途向けのICカードが一般化してきている。また、発行後に、必要に応じて新たなアプリケーションプログラムを追加する機能を備えたICカードも広く利用されている。たとえば、特開平10−79000号公報には、バージョンアップなどのためにプログラムを追加する機能をもったICカードが開示されている。
【0003】
CPUを内蔵した携帯可能情報記録媒体の大きな特徴は、高度なセキュリティの確保が可能になるという点である。たとえば、現在普及している一般的なICカードの場合、ICカードを外部装置と接続して、両者間での交信セッションを開始する際に、認証処理が実行される。通常は、外部装置からの認証データを伴う認証コマンドを受けて、ICカード内部で与えられた認証データの当否を判定し、その結果をICカードの内部メモリに格納する、という認証段階が実行される。外部装置から与えられる認証データによっては、ICカード内に格納されたデータの読み出しのみが許可される場合、新たなデータの追記のみが許可される場合、既存のデータの書換えまでもが許可される場合、など、様々な認証結果が得られることになる。そこで、通常は、交信セッションの開始時点において、上述した認証処理を実行し、認証結果をICカード内のメモリに格納しておき、外部装置側から種々のコマンドが与えられたときに、メモリに格納されている認証結果を参照して、与えられたコマンドの実行が許可されうるものであるか否かを判定し、許可されうるものと判定された場合にのみ、当該コマンドが実行されるような構成がとられる。認証結果を格納するメモリとしては、RAMなどの揮発性メモリが用いられ、1回の交信セッションが完了して外部装置と切り離された時点で、認証結果はICカード内から消去される。このように、認証処理は、各交信セッションごとに行う必要があるため、ICカードを紛失したような場合でも、十分なセキュリティを確保することが可能になる。
【0004】
【発明が解決しようとする課題】
上述したように、ICカードに代表されるCPU内蔵型の携帯可能情報記録媒体では、用途に応じた複数のアプリケーションプログラムがインストールされるのが一般的になってきており、今後も、1枚の携帯可能情報記録媒体に組み込まれるアプリケーションプログラムの数は、益々増加してゆく傾向になるものと予想される。もちろん、外部装置から与えるアプリケーション用コマンドは、インストールされている複数のアプリケーションプログラムのうちのいずれか1つのプログラムによって処理される。そこで、アプリケーション用コマンドを与える際には、事前に、処理を行うアプリケーションプログラムを特定するための準備が必要になる。通常は、特定のアプリケーションを選択する情報を含むアプリケーション選択コマンドを与えることにより、この準備が行われる。
【0005】
たとえば、診察カード用アプリケーションプログラムと、金融口座用アプリケーションプログラムとの双方がインストールされたICカードを、病院の窓口で利用する場合には、ICカードを病院の窓口に設置された外部装置に接続した後、外部装置からICカードへ診察カード用アプリケーションプログラムを選択する旨の選択コマンドを与えて、当該アプリケーションを選択状態とし、当該アプリケーションに固有の認証処理を行い、その結果をメモリ(RAM)に格納する準備段階を行う必要がある。こうして、診察カード用アプリケーションが選択された状態になった後は、外部装置側から与えられる通常のコマンドは、すべて選択状態にある診察カード用アプリケーションによって処理されることになる。このとき、個々のコマンドの実行の可否が、メモリに格納された認証結果に基づいて決定されることは上述したとおりである。
【0006】
上述した多用途向けのICカードなどにおいて、高度なセキュリティを確保するためには、認証処理を個々のアプリケーションごとに行うようにしておく必要がある。このため、従来の多用途向けのICカードなどでは、新たにアプリケーションを選択するたびに、当該選択アプリケーションについての認証処理を行う必要がある。たとえば、病院の窓口において、診察カードとしてのICカードに診療記録を書き込むとともに、金融口座用カードとしてのICカードを利用して診療費用の精算を行うような場合、ICカードを病院の窓口に設置された外部装置に接続した後、まず、外部装置からICカードへ診察カード用アプリケーションプログラムを選択する旨の選択コマンドを与えて、診察カード用アプリケーションを選択状態にして診療記録を書き込む処理を実行した後、続けて、外部装置からICカードへ金融口座用アプリケーションプログラムを選択する旨の選択コマンドを与えて、金融口座用アプリケーションを選択状態にして診療費用の精算情報を書き込む処理を実行することになる。このように、同一の交信セッションにおいて、複数のアプリケーションを利用して、一連の連携処理を進めるような利用形態は、今後も益々増えてゆくものと予想される。
【0007】
しかしながら、従来の携帯可能情報記録媒体の場合、アプリケーションを切り替えるたびに選択コマンドを与え、しかもその都度、当該アプリケーションに関する認証処理を行う必要がある。このため、同一の交信セッションにおいて、複数のアプリケーションを切り替えながら一連の連携処理を行おうとすると、携帯可能情報記録媒体内部の処理負荷および外部装置との間の通信負荷が過大になるという問題が生じていた。
【0008】
そこで本発明は、個々のアプリケーションごとのセキュリティを十分に確保しつつ、同一の交信セッションにおいて、複数のアプリケーションを切り替えながら一連の連携処理をスムーズに行うことが可能な携帯可能情報記録媒体を提供することを目的とする。
【0009】
【課題を解決するための手段】
(1) 本発明の第1の態様は、必要に応じて外部装置と接続し、この外部装置との間でコマンドおよびレスポンスのやりとりを行うことにより、記録対象となるユーザデータを内部に記録するとともに種々の処理を行う機能をもった携帯可能情報記録媒体において、
外部装置との交信を行うI/O部と、
OSプログラムを格納するOS格納部と、
複数のアプリケーションプログラムを格納するアプリケーション格納部と、
ユーザデータを格納するユーザデータ格納部と、
外部装置から与えられたコマンドを、OSプログラムまたはアプリケーションプログラムに基づいて実行し、実行結果をレスポンスとして外部装置へと返す処理を行う処理実行部と、
処理実行部のための作業エリアとして利用され、少なくともOSプログラムのための作業用データを格納するOS用作業領域を確保するための作業用データ格納部と、
を設け、
処理実行部が、
外部装置から、特定のアプリケーションプログラムを指定する情報と、指定されたアプリケーションプログラムに付与すべき固有の識別子と、を含んだ準備コマンドが与えられたときに、作業用データ格納部内に、指定されたアプリケーションプログラムのための作業用データを格納するアプリケーション用作業領域を確保し、指定されたアプリケーションプログラムとこれに付与すべき固有の識別子との対応関係を定義する情報と、確保されたアプリケーション用作業領域を特定する情報とを、OS用作業領域内に格納する処理を行い、
複数のアプリケーションプログラムについて、それぞれ準備コマンドが与えられた場合には、作業用データ格納部内に、個々のアプリケーションプログラムのためのアプリケーション用作業領域を、そのいずれもが利用できるようにそれぞれ別個に確保し、各アプリケーション用作業領域には、対応するアプリケーションプログラムに関して行われた認証処理の結果が格納されるようにし、個々のアプリケーションプログラムとこれに付与すべき固有の識別子との対応関係を定義する情報と、確保された個々のアプリケーション用作業領域を特定する情報とを、OS用作業領域内に、そのいずれもが利用できるようにそれぞれ別個に格納する処理を行い、複数のアプリケーションプログラムのいずれもが、コマンドの実行が可能な準備状態を維持するようにし、
外部装置から、識別子によって指定されたアプリケーションプログラムに対して所定の処理を実行させるための処理実行コマンドが与えられたときに、当該アプリケーションプログラムのために確保されたアプリケーション用作業領域を用いて、当該アプリケーションプログラムにより所定の処理を実行するようにしたものである。
【0010】
(2) 本発明の第2の態様は、上述の第1の態様に係る携帯可能情報記録媒体において、
処理実行部が、
外部装置から、識別子によって指定されたアプリケーションプログラムに関する認証を行うための認証コマンドが与えられたときに、この認証コマンドに応じた認証処理を実行し、認証結果を当該アプリケーションプログラムのために確保されたアプリケーション用作業領域に格納する処理を行い、
外部装置から、識別子によって指定されたアプリケーションプログラムに対して所定の処理を実行させるための処理実行コマンドが与えられたときに、当該アプリケーションプログラムのために確保されたアプリケーション用作業領域に格納されている認証結果を参照して、与えられた処理実行コマンドの実行が許可されうるものか否かを判定し、許可されうるものと判定された場合には、
当該アプリケーションプログラムにより所定の処理を実行するようにしたものである。
【0011】
(3) 本発明の第3の態様は、上述の第2の態様に係る携帯可能情報記録媒体において、
外部装置から所定のアプリケーションプログラムに関する認証コマンドが与えられたときに、処理実行部が、当該アプリケーションプログラムによって実行が許可されうるコマンドのリストを示す情報を、認証結果としてアプリケーション用作業領域に格納するようにしたものである。
【0012】
(4) 本発明の第4の態様は、上述の第1〜第3の態様に係る携帯可能情報記録媒体において、
作業用データ格納部内に確保されたアプリケーション用作業領域を特定する情報として、当該領域の先頭アドレスと当該領域のサイズと、をOS用作業領域内に格納するようにしたものである。
【0013】
(5) 本発明の第5の態様は、上述の第1〜第4の態様に係る携帯可能情報記録媒体において、
外部装置から準備コマンドが与えられたときに、処理実行部が、アプリケーション格納部に格納されているアプリケーションプログラムの内容を調査し、調査結果に応じたサイズのアプリケーション用作業領域を確保するようにしたものである。
【0014】
(6) 本発明の第6の態様は、上述の第5の態様に係る携帯可能情報記録媒体において、
アプリケーションプログラム内で用いられている変数および配列に関する情報に基づいて、当該アプリケーションプログラムのためのアプリケーション用作業領域のサイズを決定するようにしたものである。
【0015】
(7) 本発明の第7の態様は、上述の第1〜第6の態様に係る携帯可能情報記録媒体において、
外部装置から新たに使用可能な識別子を照会する照会コマンドが与えられたときに、処理実行部が、OS用作業領域を調査することにより定義済または未定義状態の識別子を認識し、認識した識別子をレスポンスとして外部装置に返す処理を行うようにしたものである。
【0016】
(8) 本発明の第8の態様は、上述の第1〜第7の態様に係る携帯可能情報記録媒体において、
OS格納部、アプリケーション格納部、ユーザデータ格納部を不揮発性メモリによって構成し、作業用データ格納部を揮発性メモリによって構成するようにしたものである。
【0017】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。なお、本発明は一般的な携帯可能情報記録媒体に広く適用可能であるが、ここでは最も一般的な携帯可能情報記録媒体であるICカードに本発明を適用した例を述べることにする。
【0018】
§1.本発明に係るICカードの基本構成
図1は、本発明の一実施形態に係るICカード100(携帯可能情報記録媒体)を、外部装置200に接続した状態を示すブロック図である。外部装置200は、一般に、リーダライタ装置と呼ばれている装置であり、通常は、パソコンなどに接続して利用される。ICカード100には、外部装置200と交信を行うためのI/O部110と、ICカード内で種々の処理を実行する処理実行部120と、種々のデータやプログラムを格納するメモリ部130とが内蔵されている。ICカード100と外部装置200との間の交信は、コマンドおよびレスポンスのやりとりによって行われる。すなわち、外部装置200側から所定のコマンドをICカード100に対して送信すると、このコマンドは、I/O部110において受信されて処理実行部120へと伝達される。処理実行部120は、このコマンドを解釈実行し、処理結果をレスポンスとしてI/O部110へと引き渡す。こうして、このレスポンスは、I/O部110から外部装置200へと送信されることになる。処理実行部120は、メモリ部130内に格納されているプログラムに基づいて、与えられたコマンドの実行を行い、このコマンドの実行に伴い、必要に応じて、メモリ部130内に格納されているデータへのアクセスを行うことになる。図示のとおり、メモリ部130は、OS格納部131、アプリケーション格納部132、ユーザデータ格納部133、作業用データ格納部134の4つの格納部によって構成されている。
【0019】
もっとも、これらの各構成要素は、本発明を説明する便宜上、機能面に着目して捉えた構成要素であり、実際のハードウエア上の構成要素に対応しているものではない。実際には、処理実行部120は、ICカード内に埋め込まれたCPUやその他の論理装置によって実現される。もちろん、処理実行部120は、CPUなどのハードウエア単独で実現できる構成要素ではなく、メモリ部130内に格納されているプログラムに基づく動作が前提となって実現される構成要素である。また、メモリ部130は、ROM,RAM,EEPROMなどのメモリによって実現されることになる。ここに示す実施形態の場合、OS格納部131はROM、アプリケーション格納部132およびユーザデータ格納部133はEEPROM、作業用データ格納部134はRAMによって実現されている。本発明を実施する上でのメモリ構成は、必ずしもこの実施形態のとおりでなくてもかまわないが、電源を内蔵しない一般的なタイプの携帯可能情報記録媒体の場合(別言すれば、外部装置200と接続されたときに、外部装置200側から電源供給を受けるタイプの携帯可能情報記録媒体の場合)、OS格納部131、アプリケーション格納部132、ユーザデータ格納部133は、外部装置200と切り離された後もデータを保持できるように不揮発性メモリにしておく必要がある。また、少なくとも、ユーザデータ格納部133については、書換えが可能な不揮発性メモリ(EEPROM)にしておく必要がある。実用上は、アプリケーション格納部132も、書換え可能な不揮発性メモリ(EEPROM)としておき、必要に応じて、新たなアプリケーションプログラムをインストールすることができるようにしておくのが好ましい。一方、作業用データ格納部134は、セキュリティを確保する上で、書換え可能な揮発性メモリ(RAM)にしておくようにする。このような構成にしておけば、ICカード100を外部装置200から切り離して携帯している状態では、作業用データ格納部134内のデータのみが消去された状態となる。
【0020】
続いて、メモリ部130を構成する各格納部に格納される情報について説明する。まず、OS格納部131には、このICカード100の基本動作を記述したOSプログラムが格納される。現在、ICカード用のOSプログラムとしては、JavaCardやMULTOSなどが普及しており、処理実行部120は、このOSプログラムに基づいて基本的な動作を行うことになる。これに対して、アプリケーション格納部132には、複数のアプリケーションプログラムが格納される。ここに示す実施形態の場合、アプリケーション格納部132はEEPROM内のメモリ領域に設けられており、ICカードの発行後に、任意にアプリケーションプログラムを追加することができる仕様となっている。図1に示す例では、3つのアプリケーションプログラムAP1,AP2,AP3が既に格納された状態が示されている。ユーザデータ格納部133は、このICカード100の所有者であるユーザに関する個人データや取引データなど、このICカード100に記録すべき対象となるユーザデータ(ICカードの発行者に関するデータも含む)が格納される。図示の例では、アプリケーションプログラムAP1,AP2,AP3のそれぞれに利用されるユーザデータUD1,UD2,UD3が別個独立して格納された状態が示されている。もちろん、図示の例では示されていないが、この他に、複数のアプリケーションで共通して利用される共通ユーザデータを格納するようにしてもかまわない。
【0021】
また、作業用データ格納部134は、処理実行部120のための作業エリアとして利用される領域である。処理実行部120は、外部装置200から与えられたコマンドがOS用コマンドであった場合には、OS格納部131内のOSプログラムに基づいてこれを実行し、外部装置200から与えられたコマンドがアプリケーション用コマンドであった場合には、アプリケーション格納部132内の所定のアプリケーションプログラムに基づいてこれを実行し、それぞれ実行結果をレスポンスとして外部装置200へと返す処理を行う。いずれの場合にも、作業用データ格納部134が作業エリアとして利用される。後述するように、処理実行部120がOSプログラムを実行する際には、作業用データ格納部134内のOS用作業領域が作業エリアとして利用され、処理実行部120が所定のアプリケーションプログラムを実行する際には、作業用データ格納部134内の当該アプリケーション用に確保されたアプリケーション用作業領域が作業エリアとして利用されることになる。ここで、OS用作業領域は、ICカード100を外部装置200に接続して交信セッションを開始した時点の初期設定動作により、作業用データ格納部134内に自動的に確保されることになるが、個々のアプリケーション用作業領域は、後述するように、外部装置200側から準備コマンドを与えることにより、確保されることになる。
【0022】
§2.本発明に係るICカードの基本動作
続いて、図1に示すICカードの基本動作についての説明を行う。ICカード100は、代表的な携帯可能情報記録媒体であり、通常は、ユーザによって携帯されることになる。上述したように、この実施形態では、ICカード100への電源供給は外部装置200側から行われるため、携帯時にはICカード100への電源供給は行われていないが、OS格納部131、アプリケーション格納部132、ユーザデータ格納部133は不揮発性メモリによって構成されているため、これらの各格納部に記録されたデータは失われることはない。一方、作業用データ格納部134は揮発性メモリ(RAM)によって構成されているため、携帯時には、作業用データ格納部134内のデータは失われた状態となる。
【0023】
前述した例のように、病院の窓口で診療記録を行ったり、金融口座に関する精算を行ったりする際には、このICカード100を外部装置200に接続して、両者間での交信を行うことになる。交信開始時には、外部装置200側からICカード100へと電源供給が行われ、ICカード100側のCPUにリセットがかかり、処理実行部120は、OS格納部131に格納されているOSプログラムの初期ルーチンを実行して、交信セッションのための環境を整える作業を行う。作業用データ格納部134内のOS用作業領域は、この時点で確保されることになる。こうして、交信セッションを行うための環境が整備されたら、以後は、外部装置200側からコマンドを与えると、ICカード100側からこれに応じたレスポンスが返ってくる、という相互交信が繰り返されることになる。1回の交信セッションが完了したら、ICカード100は、外部装置200から切り離され、再び、ユーザによって携帯されることになる。このとき、揮発性メモリ(RAM)からなる作業用データ格納部134の内容はすべて失われる。上述したように、作業用データ格納部134内には、認証結果が記録されることになるが、この認証結果は各交信セッションごとにクリアされることになり、セキュリティを確保する上では都合がよい。
【0024】
処理実行部120は、外部装置200側からコマンドが与えられると、当該コマンドがOS用コマンドである場合には、OS格納部131内のOSプログラムに基づいてこれを実行し、これに応じたレスポンスを外部装置200側へ返す処理を行い、当該コマンドがアプリケーション用コマンドである場合には、アプリケーション格納部132内のいずれかのアプリケーションプログラムに基づいてこれを実行し、これに応じたレスポンスを外部装置200側へ返す処理を行う。ただし、アプリケーション用コマンドを実行する際には、前もって当該アプリケーションについての準備を行う必要がある。
【0025】
従来の一般的なICカードの場合、特定のアプリケーションについての準備は、外部装置200側から当該特定のアプリケーションを選択する選択コマンドによって行われていた。このような選択コマンドによる従来の準備方法では、いずれか1つのアプリケーションプログラムしか準備状態にすることができず、別なアプリケーションプログラムに切り替える際には、新たな選択コマンドを与える必要がある。しかも前述したように、アプリケーションを切り替えるために新たな選択コマンドを与えた場合、その都度、当該アプリケーションに関する認証処理を行う必要があるので、同一の交信セッションにおいて、複数のアプリケーションを切り替えながら一連の連携処理を行おうとすると、ICカード100内部の処理負荷および外部装置200との間の通信負荷が過大になるという問題が生じていた。
【0026】
本発明の基本概念は、複数のアプリケーションプログラムを同時に準備状態にしておき、この準備状態になっている個々のアプリケーションにそれぞれ識別子を定義し、外部装置200側から与える個々のコマンドにそれぞれ識別子を付加することにより、同時に準備状態になっている複数のアプリケーションのうちの1つを特定し、特定されたアプリケーションプログラムによって、与えられたコマンドを処理させよう、という考え方に基づくものである。このように、複数のアプリケーションの同時準備状態を維持するため、本発明では、作業用データ格納部134内に、個々のアプリケーションごとにそれぞれ別個の作業領域を確保するようにし、これら各作業領域内に各アプリケーションごとの認証結果をそれぞれ格納しておくようにしている。
【0027】
以下、このような基本概念に基づく具体的な動作を、図2に示す一連のコマンド(1) 〜(10)を用いた例に基づいて説明する。図示のコマンドのうち、(1) ,(2) は個々のアプリケーションプログラムを準備状態にするための準備コマンド(OS用コマンド)であり、(3) 〜(8) は個々のアプリケーションプログラムについての認証を行うための認証コマンド(アプリケーション用コマンド)であり、(9) ,(10)は個々のアプリケーションプログラムを用いて所定の処理を実行させるための処理実行コマンド(アプリケーション用コマンド)である。ここでは、図1に示すように、アプリケーション格納部132内に3つのアプリケーションプログラムAP1,AP2,AP3が格納されており、説明の便宜上、AP1が病院の診察カード用アプリケーション、AP2が金融口座用アプリケーション、AP3がガソリンスタンドでのサービス用アプリケーションである例について、以下の説明を行うことにする。結局、このICカード100は、診察カード、金融口座用カード、ガソリンスタンドでのサービスカード、という3つの用途に利用されることになる。
【0028】
いま、このICカード100のユーザが、病院の窓口において、診察カードとしてのICカードに診療記録を書き込むとともに、金融口座用カードとしてのICカードを利用して診療費用の精算を行う場合を考えてみる。この場合、従来のICカードでは、ICカードを病院の窓口に設置された外部装置に接続した後、まず、外部装置からICカードへ診察カード用アプリケーションプログラムを選択する旨の選択コマンドを与えて、診察カード用アプリケーションを選択状態にして診療記録を書き込む処理を実行した後、続けて、外部装置からICカードへ金融口座用アプリケーションプログラムを選択する旨の選択コマンドを与えて、金融口座用アプリケーションを選択状態にして診療費用の精算情報を書き込む処理を実行することになる。そして、各選択コマンドを与えるたびに、各アプリケーションごとに定められた認証処理を行う必要がある。これに対して本発明では、図2に示されているように、まず、準備コマンド(1) ,(2) を与え、一連の処理に必要な2つのアプリケーションAP1,AP2を同時に準備状態にした上で、アプリケーションAP1についての認証コマンド(3) 〜(5) およびアプリケーションAP2についての認証コマンド(6) 〜(8) を与え、これら両アプリケーションについてのそれぞれの認証処理を行い、その結果を作業用データ格納部134に格納する。この状態では、既に、アプリケーションAP1,AP2が同時に準備完了かつ認証完了の状態となっている。そこで、個々のアプリケーションに対して所定の処理実行コマンド(9) ,(10)を与え、各アプリケーションプログラムにより所定の処理を実行させればよい。
【0029】
図2に示す準備コマンド(1) ,(2) は、特定のアプリケーションプログラムを指定する情報と、指定されたアプリケーションプログラムに付与すべき固有の識別子と、を含んでいる。たとえば、準備コマンド(1) は、当該コマンドが準備コマンドであることを示すコマンド名「PREPARE」と、アプリケーションAP1(診察カード用アプリケーション)を指定する情報(たとえば、アプリケーション名)と、この指定されたアプリケーションプログラムに付与すべき固有の識別子「Ch1」と、によって構成されている。処理実行部120は、このような準備コマンドが与えられると、作業用データ格納部134内に、指定されたアプリケーションプログラムのための作業用データを格納するアプリケーション用作業領域を確保し、指定されたアプリケーションプログラムとこれに付与すべき固有の識別子との対応関係を定義する情報と、確保されたアプリケーション用作業領域を特定する情報とを、OS用作業領域内に格納することにより、当該特定のアプリケーションプログラムを利用可能状態とする処理を行う。
【0030】
具体的には、準備コマンド(1) が与えられた場合、作業用データ格納部134内に、アプリケーションAP1の作業エリアとして、図1に示すようにAP1用作業領域が確保される。そして更に、作業用データ格納部134内のOS用作業領域(前述したように、ICカード100を外部装置200に接続した直後に行われる交信セッションの環境整備段階において既に確保されている)に、アプリケーションAP1とこれに付与すべき固有の識別子「Ch1」との対応関係を定義する情報と、確保されたAP1用作業領域を特定する情報とが書き込まれることになる。同様に、準備コマンド(2) が与えられた場合、作業用データ格納部134内に、アプリケーションAP2の作業エリアとして、AP2用作業領域が確保される。そして更に、作業用データ格納部134内のOS用作業領域に、アプリケーションAP2とこれに付与すべき固有の識別子「Ch2」との対応関係を定義する情報と、確保されたAP2用作業領域を特定する情報とが書き込まれることになる。
【0031】
図3は、上述した準備コマンド(1) ,(2) の実行により、OS用作業領域に書き込まれた情報の一例を示す図である。図3(a) に示す情報は準備コマンド(1) によって書き込まれた情報であり、図3(b) に示す情報は準備コマンド(2) によって書き込まれた情報である。この例では、アプリケーションプログラムとこれに付与すべき固有の識別子との対応関係を定義する情報として、識別子とこれに対応するアプリケーションプログラムの先頭アドレスとが対応づけて書き込まれている。たとえば、図3(a) の例では、識別子「Ch1」とアドレス「Add11」(アプリケーション格納部132内に格納されたアプリケーションプログラムAP1の先頭アドレス)とを対応づけて格納することにより、アプリケーションプログラムAP1が識別子「Ch1」に対応することが示されている。また、作業用データ格納部134内に確保されたアプリケーション用作業領域を特定する情報としては、当該領域の先頭アドレスと当該領域のサイズとが格納されている。たとえば、図3(a) の例では、アプリケーションAP1用作業領域の先頭アドレス「Add12」(作業用データ格納部134内に確保された領域の先頭アドレス)と、当該領域のサイズ「2kB」とによって、AP1用作業領域が特定されている。図3(b) に示す情報は、アプリケーションAP2に関する同様の情報である。
【0032】
結局、準備コマンド(1) ,(2) の実行により、図1に示す作業用データ格納部134内に、2つのアプリケーション用作業領域(AP1用作業領域とAP2用作業領域:図1に示されているAP3用作業領域は、図2に示す動作例では確保されない)が確保され、OS用作業領域には、図3に示すような情報が格納された状態となる。このような準備コマンドの実行により、2つのアプリケーションAP1,AP2が同時に利用可能状態となる。このように、本発明における準備コマンドは、従来のICカードで用いられている選択コマンドとは異なり、同時に複数のアプリケーションプログラムを利用可能状態にすることができる。もっとも、個々のアプリケーションプログラムを実質的に利用するには、次のような認証処理を経る必要がある。
【0033】
図2に示す認証コマンド(3) 〜(8) は、従来のICカードにおいても一般に利用されている認証コマンドであり、これらのコマンドによって実行される認証処理の実体は、従来のICカードで行われていた認証処理と同じである。ただ、本発明における認証コマンドの特徴は、コマンド内に、特定の識別子が含まれており、この特定の識別子によって認証処理の対象となる特定のアプリケーションプログラムが指定されている点である。たとえば、認証コマンド(3) 〜(5) には、いずれも「Ch1」なる識別子が含まれており、これらの認証コマンドがアプリケーションプログラムAP1についてのコマンドであることが示されており、認証コマンド(6) 〜(8) には、いずれも「Ch2」なる識別子が含まれており、これらの認証コマンドがアプリケーションプログラムAP2についてのコマンドであることが示されている。本発明では、同時に複数のアプリケーションプログラムが利用可能状態となっているため、アプリケーション用の認証コマンドを与える場合には、利用可能状態となっている複数のアプリケーションのうちの1つを特定するための識別子が必要になる。
【0034】
認証コマンド(3) は、外部装置200側から与えられたパスワード(コマンドに含まれている「Password」なるデータ)が、ICカード100側に記録されているアプリケーションAP1に関するパスワード(ユーザデータ格納部133内のユーザデータUD1内に格納されている)と一致しているか否かを確認するコマンドであり、この認証コマンドに応じた認証処理を実行することにより得られる認証結果が、AP1用作業領域内に書き込まれることになる。具体的には、パスワードの一致/不一致の結果(ICカード100側に複数のパスワードが格納されている場合には、いずれのパスワードと一致したかを示す結果)が、認証結果として格納される。
【0035】
一方、認証コマンド(4) ,(5) は、2つのコマンドにより1つの認証処理を実行させるためのコマンド対である。まず、認証コマンド(4) は、ICカード100の内部で任意の乱数を発生させ、これを外部装置200側にレスポンスとして返すことを要求するコマンドである。処理実行部120は、このコマンド内に含まれている識別子「Ch1」に応じて、アプリケーションAP1に関して乱数を発生し、これを外部装置200側にレスポンスとして返す処理を行う。このとき、発生させた乱数は、いずれかの場所(たとえば、AP1用作業領域内)に記録しておくようにする。外部装置200側では、この返された乱数を所定のアルゴリズムに従って暗号化し、得られた暗号データ「AuthData」を含む認証コマンド(5) を、ICカード100へと与える処理を行う。すなわち、図2に示す認証コマンド(5) 内の「AuthData」は、認証コマンド(4) のレスポンスとして得られた乱数に基づいて作成された暗号データということになる。認証コマンド(5) を受け取った処理実行部120は、先程発生させた乱数を、外部装置200側で行われた暗号化と同等のアルゴリズム(アプリケーションプログラムAP1内に含まれている)によって暗号化し、その結果が認証コマンド(5) 内に含まれていた暗号データ「AuthData」と一致するか否かを認証する。もちろん、この認証結果も、AP1用作業領域内に書き込まれる。
【0036】
かくして、認証コマンド(3) 〜(5) の実行により、アプリケーションAP1に関する認証処理が行われ、認証結果が作業用データ格納部134内のAP1用作業領域内に格納されることになる。認証コマンド(6) 〜(8) は、アプリケーションAP2に関する同様の認証コマンドであり、これらの認証コマンドに基づく認証処理の結果は、作業用データ格納部134内のAP2用作業領域内に格納されることになる。なお、図2に示す例では、2つのアプリケーションについての準備コマンド(1) ,(2) を実行した後、アプリケーションAP1についての認証コマンド(3) 〜(5) を実行し、続いて、アプリケーションAP2についての認証コマンド(6) 〜(8) を実行しているが、特定のアプリケーションに関して「準備コマンドを実行した後に認証コマンドを実行する」という条件が満たされる限り、これら各コマンドの順序は自由に変更することが可能である。たとえば、認証コマンド(3) の直後に、認証コマンド(6) を実行するようにしてもかまわないし、準備コマンド(1) の直後に、認証コマンド(3) 〜(5) を実行するようにしてもかまわない。各コマンドには識別子が含まれているので、この識別子により、各コマンドがいずれのアプリケーションに関するコマンドであるかを識別することが可能である。
【0037】
こうして、図2の準備コマンド(1) ,(2) および認証コマンド(3) 〜(8) が完了すると、2つのアプリケーションAP1,AP2の準備処理および認証処理が完了したことになり、両アプリケーションを利用する環境がすべて整ったことになる。この状態になれば、外部装置200側から、これら2つのアプリケーション用の処理実行コマンドを与え、これを実行させることができる。ただ、複数のアプリケーションが同時に利用可能状態となっているため、個々の処理実行コマンドには、当該コマンドを実行させるアプリケーションを特定するための識別子を含ませておくようにする。処理実行部120は、このように、識別子によって指定されたアプリケーションプログラムに対して所定の処理を実行させるための処理実行コマンドが与えられると、当該アプリケーションプログラムのために確保されたアプリケーション用作業領域に格納されている認証結果を参照して、与えられた処理実行コマンドの実行が許可されうるものか否かを判定し、許可されうるものと判定された場合には、当該アプリケーションプログラムを用いて、所定の処理を実行する。
【0038】
たとえば、図2の処理実行コマンド(9) には、「Ch1」なる識別子が含まれているので、処理実行部120は、このコマンドをアプリケーションAP1に基づいて実行する。このとき、まず、AP1用作業領域に格納されている認証結果(認証コマンド(3) 〜(5) の実行により得られた認証結果)を参照して、当該コマンドの実行が許可されうるものか否かを判定する。たとえば、認証成功か失敗かのいずれかの情報が認証結果として格納されていた場合(具体的には、パスワードなどの一致か不一致かを示す情報が記録されていた場合)は、認証成功なる情報が格納されていた場合に限り、当該コマンドの実行が許可されうるものと判定することになる。そして肯定的な判定がなされた場合には、当該コマンドを実行してこれに応じたレスポンスを返し、否定的な判定がなされた場合には、エラーを示すレスポンスを返す。具体的には、処理実行コマンド(9) は、ファイル「File3」内のレコード「Record2」のデータを読み出すコマンドであり、ユーザデータ格納部133内のユーザデータUD1内の該当データが読み出され、レスポンスとして外部装置200側に返されることになる。
【0039】
一方、図2の処理実行コマンド(10)には、「Ch2」なる識別子が含まれているので、処理実行部120は、このコマンドをアプリケーションAP2に基づいて実行する。このとき、まず、AP2用作業領域に格納されている認証結果(認証コマンド(6) 〜(8) の実行により得られた認証結果)を参照して、当該コマンドの実行が許可されうるものか否かを判定する。そして肯定的な判定がなされた場合にのみ、当該コマンドの実行が行われる。具体的には、処理実行コマンド(10)は、ファイル「File2」内のレコード「Record1」を直前に読み出されたデータに更新するコマンドであり、処理実行コマンド(9) によって読み出されたデータによって、ユーザデータ格納部133内のユーザデータUD2内の該当レコードの内容が書き替えられ、書き替え成功を示すレスポンスが外部装置200側に返されることになる。
【0040】
このように、本発明に係るICカードを利用すれば、病院の窓口において、診察カードとしてのICカードに診療記録を書き込むとともに、金融口座用カードとしてのICカードを利用して診療費用の精算を行うような場合、診察カード用アプリケーションAP1と、金融口座用アプリケーションAP2との双方を利用可能状態、かつ、認証完了状態としておけば、識別子でいずれかのアプリケーションを指定した処理実行コマンドを与えることにより、所望のアプリケーションに対して所望の処理を実行させることが可能になる。図2に示す例では、2つの処理実行コマンド(9) ,(10)を与えた例が示されているが、アプリケーションAP1,AP2についての処理実行コマンドであれば、この後にも、多数のコマンドを連続して与えることが可能になる。しかも、コマンドの対象となるアプリケーションは、識別子によって指定することができ、アプリケーション切り替え時には、新たな認証処理を行う必要はない。このように、本発明に係るICカードによれば、同一の交信セッションにおいて、複数のアプリケーションを利用して、一連の連携処理を進めるような利用形態をスムーズに行うことができるようになる。
【0041】
§3.本発明に係る携帯可能情報記録媒体の変形例
これまで、本発明をICカードに適用した基本的な実施形態を述べたが、ここでは、本発明の変形例をいくつか述べておく。
【0042】
(1) 上述したように、本発明では、外部装置から所定のアプリケーションプログラムに関する認証コマンドが与えられたときに、処理実行部120は、この認証コマンドに基づく認証処理を実行し、認証結果を当該アプリケーションに関するアプリケーション用作業領域に格納し、以後、当該アプリケーションに関する処理実行コマンドが与えられた場合には、この認証結果を参照して、当該コマンドの実行可否を決定することになる。ここで留意すべき点は、アプリケーション用作業領域に格納される認証結果は、必ずしも「認証成功か認証失敗の2通りの結果」ではないという点である。すなわち、実用上は、外部装置200側のもつアクセス権に応じて、複数通りの認証結果を格納するようにすることができる。たとえば、データの読み出しの権限のみを与える第1のパスワード、データの読み出しおよびデータの追記の権限を与える第2のパスワード、データの書き替えも含めたすべての権限を与える第3のパスワードなどを予め定めておき、いずれのパスワードを用いた認証コマンドが行われたかによって、それぞれ異なる認証結果を格納することが可能である。この場合であれば、第1のパスワードによる認証が行われた場合には、データの読み出しのみが可能である旨の認証結果を書き込むようにし、第2のパスワードによる認証が行われた場合には、データの読み出しおよびデータの追記が可能である旨の認証結果を書き込むようにし、第3のパスワードによる認証が行われた場合には、すべての処理が可能である旨の認証結果を書き込むようにすればよい。
【0043】
図4に示す例は、認証対象となった個々のアプリケーションプログラムによって実行が許可されうるコマンドのリストを示す情報を、認証結果としてアプリケーション用作業領域に格納した例を示す図である。この例では、アプリケーションAP1用作業領域には、「READ RECORD (1レコードデータの読み出しコマンド)」、「UPDATE RECORD (1レコードデータの更新コマンド)」、「WRITE RECORD(1レコードデータの追記コマンド)」なる3つのコマンドを示す情報が認証結果として格納されており、アプリケーションAP2用作業領域には、「READ RECORD 」、「UPDATE RECORD 」なる2つのコマンドを示す情報が認証結果として格納されている。このような実行可能コマンドリストを認証結果として格納しておくようにすれば、任意の処理実行コマンドが与えられたときに、当該コマンドの実行の可否を直ちに判定することが可能になる。
【0044】
(2) 本発明では、特定のアプリケーションプログラムに関する準備コマンドが与えられると、作業用データ格納部134内に、当該アプリケーションについてのアプリケーション用作業領域が処理実行部120によって確保されることになる。ただ、確保すべき作業領域のサイズは、通常、個々のアプリケーションごとに異なり、大きなサイズの作業領域が必要なアプリケーションもあれば、小さなサイズの作業領域ですむアプリケーションもある。そこで、実用上は、処理実行部120が、アプリケーション格納部132に格納されている当該アプリケーションプログラムの内容を調査し、調査結果に応じたサイズのアプリケーション用作業領域を確保するようにするのが好ましい。たとえば、図2に示す準備コマンド(1) が与えられた場合、処理実行部120は、アプリケーション格納部132に格納されているアプリケーションプログラムAP1の内容を調査し、このプログラムに応じたサイズのAP1用作業領域を確保するようにすればよい。具体的には、プログラム内の変数の定義文や、配列宣言文などを認識し、利用される変数および配列に応じて、必要なサイズを所定のアルゴリズムで決定するようにすればよい。
【0045】
(3) 上述の実施形態では、識別子として、「Ch1」,「Ch2」のような文字列を用いた例を示したが、識別子は、各アプリケーションごとにユニークなものであれば、どのようなデータを用いてもかまわない。本発明を実施する上では、アプリケーションごとの認証コマンドや処理実行コマンドには、必ず、アプリケーションを特定するための識別子を含ませる必要があるので、実用上は、できるだけ短いデータからなる識別子を用いるのが好ましい。たとえば、最大限、4つのアプリケーションが同時に利用可能状態になるように設計されたICカードであれば、「00」,「01」,「10」,「11」の2ビットからなる識別子を用いるようにすれば足りる。
【0046】
また、本発明を実施する上では、同時に利用可能状態となっている複数のアプリケーションについては、それぞれ互いに異なるユニークな識別子を付与する必要がある。そこで、外部装置200側から、異なる複数のアプリケーションに同一の識別子を付与するような準備コマンドが誤って発せられることがないように、準備コマンドに先立って、照会コマンドを用いた照会が行えるようにしておくのが好ましい。すなわち、外部装置200から新たに使用可能な識別子を照会する照会コマンド(OS用コマンド)を与えることができるようにしておき、処理実行部120は、このような照会コマンドを受け取ったときに、OS用作業領域を調査することにより定義済または未定義状態の識別子を認識し、認識した識別子をレスポンスとして外部装置200に返す処理を行うことができるようにしておけばよい。
【0047】
図5は、このような照会コマンドと、これに応じたレスポンスの具体例を示す図である。この例では、照会コマンドは、「MANAGE CHANNNEL 」なる文字列からなるOS用コマンドである。OS用プログラムの一部に、このような照会コマンドを処理するルーチンを用意しておけば、処理実行部120は、このルーチンに応じて、上述した調査を実施し、レスポンスを返す処理を行うことができる。図5には、定義済の識別子(Ch1,Ch2)をレスポンスとして返す例と、未定義状態の識別子(Ch3〜Ch8:この例では、識別子としてCh1〜Ch8の8通りの識別子が予め用意されているという前提である)をレスポンスとして返す例とが示されている。外部装置200は、このようなレスポンスを受け取った後、このレスポンスの内容を考慮した上で、既に定義済みの識別子を重複定義することのない正しい準備コマンドを与えることができる。
【0048】
(4) 上述の実施形態では、特定のアプリケーションに対する準備コマンドを与えて当該アプリケーションを利用するための準備を行った上で、当該アプリケーションに関する認証コマンドを与えて認証処理を実行し、この認証処理の結果に基づいて当該アプリケーションに対する処理実行コマンドの実行の可否を判定していた。しかしながら、処理実行に認証を行う必要がない利用形態では、必ずしも認証コマンドを与える必要はなく、準備コマンドにより準備が完了したアプリケーションに対しては、直ちに処理実行コマンドを与えてこれを実行させるようにしてもかまわない。
【0049】
(5) 上述の実施形態における処理実行部120は、OS格納部131に格納されているOSプログラムか、アプリケーション格納部132に格納されているいずれかのアプリケーションプログラムに基づいて種々の処理を実行する。ここで、所定のアプリケーションプログラムを利用可能状態とするための準備コマンドは、当該準備コマンドの対象となるアプリケーションプログラム自身によって実行することはできないので、通常は、OSプログラムによって実行することになるが(場合によっては、別なアプリケーションプログラムによって、実行するようにしてもかまわない。)、認証コマンドやその他の処理実行コマンドは、OSプログラムによって実行しても、アプリケーションプログラムにより実行してもかまわない。ただ、一般的なICカードの場合、OSプログラムはカード発行時に既に組み込まれているが、各アプリケーションプログラムは発行後に適宜追加する利用形態が採られることが多く、OSプログラムに比べて自由度が高い。したがって、実用上は、認証コマンドやその他の処理実行コマンドの実体的な処理部分は各アプリケーションプログラムにより実行させるようにし、OSプログラムは、これらのコマンドを各アプリケーションプログラムに引き渡す役割を果たすように設計するのが好ましい。
【0050】
【発明の効果】
以上のとおり、本発明に係る携帯可能情報記録媒体によれば、個々のアプリケーションごとのセキュリティを十分に確保しつつ、同一の交信セッションにおいて、複数のアプリケーションを切り替えながら一連の連携処理をスムーズに行うことが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るICカード100を、外部装置200に接続した状態を示すブロック図である。
【図2】外部装置から本発明に係るICカードへ与えられる一連のコマンド例を示す図である。
【図3】図2に示す準備コマンド(1) ,(2) の実行により、OS用作業領域に書き込まれた情報の一例を示す図である。
【図4】アプリケーション用作業領域に書き込む認証結果として、実行が許可されるコマンドのリストを用いた例を示す図である。
【図5】現時点で空いている識別子を照会するための照会コマンドと、これに応じたレスポンスの例を示す図である。
【符号の説明】
100…ICカード(携帯可能情報記録媒体)
110…I/O部
120…処理実行部
130…メモリ部
131…OS格納部
132…アプリケーション格納部
133…ユーザデータ格納部
134…作業用データ格納部
AP1〜AP3…アプリケーションプログラム
Ch1〜Ch8…アプリケーションに付与される識別子
UD1〜UD3…各アプリケーションプログラムで利用されるユーザデータ
Add11…アプリケーションプログラムAP1の先頭アドレス
Add12…AP1用作業領域の先頭アドレス
Add21…アプリケーションプログラムAP2の先頭アドレス
Add22…AP2用作業領域の先頭アドレス

Claims (8)

  1. 必要に応じて外部装置と接続し、この外部装置との間でコマンドおよびレスポンスのやりとりを行うことにより、記録対象となるユーザデータを内部に記録するとともに種々の処理を行う機能をもった携帯可能情報記録媒体において、
    外部装置との交信を行うI/O部と、
    OSプログラムを格納するOS格納部と、
    複数のアプリケーションプログラムを格納するアプリケーション格納部と、
    ユーザデータを格納するユーザデータ格納部と、
    外部装置から与えられたコマンドを、前記OSプログラムまたは前記アプリケーションプログラムに基づいて実行し、実行結果をレスポンスとして外部装置へと返す処理を行う処理実行部と、
    前記処理実行部のための作業エリアとして利用され、少なくとも前記OSプログラムのための作業用データを格納するOS用作業領域を確保するための作業用データ格納部と、
    を備え、
    前記処理実行部は、
    外部装置から、特定のアプリケーションプログラムを指定する情報と、指定されたアプリケーションプログラムに付与すべき固有の識別子と、を含んだ準備コマンドが与えられたときに、前記作業用データ格納部内に、指定されたアプリケーションプログラムのための作業用データを格納するアプリケーション用作業領域を確保し、指定されたアプリケーションプログラムとこれに付与すべき固有の識別子との対応関係を定義する情報と、確保された前記アプリケーション用作業領域を特定する情報とを、前記OS用作業領域内に格納する処理を行い、
    複数のアプリケーションプログラムについて、それぞれ前記準備コマンドが与えられた場合には、前記作業用データ格納部内に、個々のアプリケーションプログラムのためのアプリケーション用作業領域を、そのいずれもが利用できるようにそれぞれ別個に確保し、各アプリケーション用作業領域には、対応するアプリケーションプログラムに関して行われた認証処理の結果が格納されるようにし、個々のアプリケーションプログラムとこれに付与すべき固有の識別子との対応関係を定義する情報と、確保された個々のアプリケーション用作業領域を特定する情報とを、前記OS用作業領域内に、そのいずれもが利用できるようにそれぞれ別個に格納する処理を行い、複数のアプリケーションプログラムのいずれもが、コマンドの実行が可能な準備状態を維持するようにし、
    外部装置から、識別子によって指定されたアプリケーションプログラムに対して所定の処理を実行させるための処理実行コマンドが与えられたときに、当該アプリケーションプログラムのために確保されたアプリケーション用作業領域を用いて、当該アプリケーションプログラムにより前記所定の処理を実行することを特徴とする携帯可能情報記録媒体。
  2. 請求項1に記載の携帯可能情報記録媒体において、
    処理実行部が、
    外部装置から、識別子によって指定されたアプリケーションプログラムに関する認証を行うための認証コマンドが与えられたときに、この認証コマンドに応じた認証処理を実行し、認証結果を当該アプリケーションプログラムのために確保されたアプリケーション用作業領域に格納する処理を行い、
    外部装置から、識別子によって指定されたアプリケーションプログラムに対して所定の処理を実行させるための処理実行コマンドが与えられたときに、当該アプリケーションプログラムのために確保されたアプリケーション用作業領域に格納されている認証結果を参照して、与えられた処理実行コマンドの実行が許可されうるものか否かを判定し、許可されうるものと判定された場合には、当該アプリケーションプログラムにより前記所定の処理を実行することを特徴とする携帯可能情報記録媒体。
  3. 請求項2に記載の携帯可能情報記録媒体において、
    外部装置から所定のアプリケーションプログラムに関する認証コマンドが与えられたときに、処理実行部が、当該アプリケーションプログラムによって実行が許可されうるコマンドのリストを示す情報を、認証結果としてアプリケーション用作業領域に格納することを特徴とする携帯可能情報記録媒体。
  4. 請求項1〜3のいずれかに記載の携帯可能情報記録媒体において、
    作業用データ格納部内に確保されたアプリケーション用作業領域を特定する情報として、当該領域の先頭アドレスと当該領域のサイズと、をOS用作業領域内に格納することを特徴とする携帯可能情報記録媒体。
  5. 請求項1〜4のいずれかに記載の携帯可能情報記録媒体において、
    外部装置から準備コマンドが与えられたときに、処理実行部が、アプリケーション格納部に格納されているアプリケーションプログラムの内容を調査し、調査結果に応じたサイズのアプリケーション用作業領域を確保することを特徴とする携帯可能情報記録媒体。
  6. 請求項5に記載の携帯可能情報記録媒体において、
    アプリケーションプログラム内で用いられている変数および配列に関する情報に基づいて、当該アプリケーションプログラムのためのアプリケーション用作業領域のサイズを決定することを特徴とする携帯可能情報記録媒体。
  7. 請求項1〜6のいずれかに記載の携帯可能情報記録媒体において、
    外部装置から新たに使用可能な識別子を照会する照会コマンドが与えられたときに、処理実行部が、OS用作業領域を調査することにより定義済または未定義状態の識別子を認識し、認識した識別子をレスポンスとして外部装置に返す処理を行うことを特徴とする携帯可能情報記録媒体。
  8. 請求項1〜7のいずれかに記載の携帯可能情報記録媒体において、
    OS格納部、アプリケーション格納部、ユーザデータ格納部を不揮発性メモリによって構成し、作業用データ格納部を揮発性メモリによって構成したことを特徴とする携帯可能情報記録媒体。
JP2001360284A 2001-11-27 2001-11-27 携帯可能情報記録媒体 Expired - Fee Related JP4393733B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2001360284A JP4393733B2 (ja) 2001-11-27 2001-11-27 携帯可能情報記録媒体
KR1020047005182A KR100948120B1 (ko) 2001-11-27 2002-11-22 휴대 가능 정보 기록 매체
DE60237783T DE60237783D1 (de) 2001-11-27 2002-11-22 Tragbares informationsaufzeichnungsmedium
PCT/JP2002/012219 WO2003046826A1 (fr) 2001-11-27 2002-11-22 Support d'enregistrement d'informations portable
CNB028184440A CN1288591C (zh) 2001-11-27 2002-11-22 便携式信息记录装置
US10/486,676 US7367047B2 (en) 2001-11-27 2002-11-22 Portable information recording medium
EP02788638A EP1450299B1 (en) 2001-11-27 2002-11-22 Portable information recording medium
TW091134434A TWI272540B (en) 2001-11-27 2002-11-27 Portable data recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001360284A JP4393733B2 (ja) 2001-11-27 2001-11-27 携帯可能情報記録媒体

Publications (2)

Publication Number Publication Date
JP2003162698A JP2003162698A (ja) 2003-06-06
JP4393733B2 true JP4393733B2 (ja) 2010-01-06

Family

ID=19171132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001360284A Expired - Fee Related JP4393733B2 (ja) 2001-11-27 2001-11-27 携帯可能情報記録媒体

Country Status (8)

Country Link
US (1) US7367047B2 (ja)
EP (1) EP1450299B1 (ja)
JP (1) JP4393733B2 (ja)
KR (1) KR100948120B1 (ja)
CN (1) CN1288591C (ja)
DE (1) DE60237783D1 (ja)
TW (1) TWI272540B (ja)
WO (1) WO2003046826A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4828809B2 (ja) * 2003-12-10 2011-11-30 株式会社東芝 Icカードおよびicカードにおける処理方法
JP4125227B2 (ja) 2003-12-25 2008-07-30 キヤノン株式会社 認証システム及び認証方法
KR100608826B1 (ko) * 2004-08-28 2006-08-09 엘지전자 주식회사 이동통신단말기의 데이터 액세스 방법
KR20060081337A (ko) * 2005-01-07 2006-07-12 엘지전자 주식회사 비밀키를 이용한 암호화 및 복호화 방법
JP4760150B2 (ja) * 2005-06-10 2011-08-31 コニカミノルタビジネステクノロジーズ株式会社 アプリケーション開発用プログラムおよび画像処理装置
JP4389854B2 (ja) * 2005-09-01 2009-12-24 株式会社カシオ日立モバイルコミュニケーションズ 電子機器、データ処理方法及びデータ処理プログラム
JP2007102559A (ja) * 2005-10-05 2007-04-19 Toshiba Corp 携帯可能電子装置
US20070204167A1 (en) * 2006-02-28 2007-08-30 Aladdin Knowledge Systems Ltd. Method for serving a plurality of applications by a security token
DE102006021382B4 (de) * 2006-05-08 2015-08-20 Giesecke & Devrient Gmbh Personalisierung von portablen Datenträgern
DE102006027200A1 (de) * 2006-06-12 2007-12-27 Giesecke & Devrient Gmbh Datenträger und Verfahren zur kontaktlosen Kommunikation zwischen dem Datenträger und einem Lesegerät
SG146551A1 (en) * 2007-03-29 2008-10-30 Toshiba Kk Portable electronic device and control method of portable electronic device
KR101148401B1 (ko) 2007-08-24 2012-05-25 후지쯔 가부시끼가이샤 인증 정보 관리 장치, 인증 정보 관리 프로그램을 기록한 컴퓨터 판독 가능한 매체 및 그 방법, 인증 장치, 인증 프로그램을 기록한 컴퓨터 판독 가능한 매체 및 그 방법
US8789753B1 (en) 2008-03-28 2014-07-29 Oracle International Corporation Method for using and maintaining user data stored on a smart card
CN101727457B (zh) * 2008-10-30 2012-08-08 爱思开电讯投资(中国)有限公司 用于智能卡的数据库管理***和方法
DE102009048240A1 (de) 2009-10-05 2011-04-07 Giesecke & Devrient Gmbh Portabler Datenträger mit Zusatzfunktionalität
US8945938B2 (en) * 2009-10-30 2015-02-03 Medtech Detect, Llc Composition, device and method for colorimetric detection of an analyte using imprinted polymers and photochromic switch molecules
EP2482220A1 (en) * 2011-01-27 2012-08-01 SafeNet, Inc. Multi-enclave token
CN103578207B (zh) * 2012-07-20 2015-12-02 ***通信集团公司 一种数据处理方法、装置、***及相关设备
JP2014200059A (ja) * 2013-03-15 2014-10-23 パナソニック株式会社 記録媒体
WO2016137277A1 (en) 2015-02-27 2016-09-01 Samsung Electronics Co., Ltd. Electronic device providing electronic payment function and operating method thereof
KR102460459B1 (ko) * 2015-02-27 2022-10-28 삼성전자주식회사 전자 장치를 이용한 카드 서비스 방법 및 장치
CN106899566B (zh) 2016-08-12 2020-03-24 阿里巴巴集团控股有限公司 一种认证方法、设备以及认证客户端
US11921592B2 (en) * 2020-07-20 2024-03-05 Google Llc Restoration of a computing session

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0332117B1 (en) * 1988-03-09 1994-05-11 Kabushiki Kaisha Toshiba Portable electronic apparatus
US5161256A (en) 1988-08-26 1992-11-03 Kabushiki Kaisha Toshiba Method and system for allocating file area in memory area of ic card
JPH077317B2 (ja) * 1991-06-10 1995-01-30 松下電器産業株式会社 システム再起動装置
FR2683357A1 (fr) * 1991-10-30 1993-05-07 Philips Composants Microcircuit pour carte a puce a memoire programmable protegee.
JP2812923B2 (ja) * 1996-10-11 1998-10-22 日本電気テレコムシステム株式会社 非接触カード及びその保持情報の格納方式
US5754762A (en) * 1997-01-13 1998-05-19 Kuo; Chih-Cheng Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU
US6220510B1 (en) * 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
DE19739545C1 (de) * 1997-09-09 1999-01-07 Siemens Ag Chipkarte mit Speicher für anwendungsabhängig nachladbare Programme
JPH11120300A (ja) * 1997-10-09 1999-04-30 Fujitsu Ltd 可搬型カード媒体,可搬型カード媒体のメモリ空間管理方法,可搬型カード媒体の発行方法および可搬型カード媒体のプログラムデータ書込方法並びにメモリ空間管理プログラムが記録されたコンピュータ読取可能な記録媒体
JP3717031B2 (ja) * 1998-06-05 2005-11-16 富士通株式会社 電子マネー装置、方法、カード並びに電子マネー処理プログラムを記録したコンピュータ読取り可能な記録媒体
US6425522B1 (en) * 1998-07-23 2002-07-30 Hitachi, Ltd. IC card information processing system, and apparatus and cards for the same
TW460847B (en) * 1998-08-26 2001-10-21 Hitachi Ltd IC card, terminal apparatus and service management server
EP1065598A1 (de) 1999-06-24 2001-01-03 Siemens Aktiengesellschaft Verfahren zum Zugriff auf einen Speicher und Speichereinrichtung hierfür
JP2001147997A (ja) * 1999-11-19 2001-05-29 Hitachi Ltd Icカードおよびicカード取り扱いシステム
JP3710671B2 (ja) 2000-03-14 2005-10-26 シャープ株式会社 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
EP1258807A3 (en) * 2001-05-14 2005-11-02 Matsushita Electric Industrial Co., Ltd. Illegal access monitoring device, ic card, and illegal access monitoring method
US6832302B1 (en) * 2001-10-24 2004-12-14 At&T Corp. Methods and apparatus for detecting heap smashing

Also Published As

Publication number Publication date
JP2003162698A (ja) 2003-06-06
EP1450299A4 (en) 2008-10-29
CN1288591C (zh) 2006-12-06
KR100948120B1 (ko) 2010-03-18
KR20040053155A (ko) 2004-06-23
TWI272540B (en) 2007-02-01
EP1450299A1 (en) 2004-08-25
DE60237783D1 (de) 2010-11-04
EP1450299B1 (en) 2010-09-22
TW200300909A (en) 2003-06-16
CN1556967A (zh) 2004-12-22
US7367047B2 (en) 2008-04-29
US20040199784A1 (en) 2004-10-07
WO2003046826A1 (fr) 2003-06-05

Similar Documents

Publication Publication Date Title
JP4393733B2 (ja) 携帯可能情報記録媒体
KR950007895B1 (ko) 휴대가능전자장치
US6371377B2 (en) Card type recording medium and access control method for card type recording medium and computer-readable recording medium having access control program for card type recording medium recorded
US5252812A (en) Program control system for portable data storage device
KR960005397B1 (ko) 휴대가능전자장치
JPS63201748A (ja) 携帯可能電子装置
JPH021090A (ja) Icカード及びその動作プログラム書込み方法
JP2575358B2 (ja) Icカ−ド
JP3178881B2 (ja) 携帯可能電子装置
JP3720113B2 (ja) 携帯可能情報記憶媒体、携帯可能情報記憶媒体システム、及び携帯可能情報記憶媒体のデータアクセス方法
JP7020969B2 (ja) 携帯可能電子装置、及びicカード
JP4443699B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP2695857B2 (ja) 携帯可能電子装置
JPH09114741A (ja) 携帯可能情報記録媒体
JP3899223B2 (ja) Icカードおよびicカード搭載処理プログラムの変更・追加方法
JPS62200441A (ja) Icカ−ド
JP3231466B2 (ja) キーを記憶した情報記録媒体
JP2002024790A (ja) 情報処理システム、携帯可能電子装置、及びキー変更方法
JP4601329B2 (ja) 電子認証具1次発行装置、電子認証具発行システム、電子認証具2次発行装置、電子認証具1次発行方法、電子認証具発行方法及び電子認証具2次発行方法
JPH06309531A (ja) Icカードに与える命令フォーマットのチェック方法
JP3209994B2 (ja) 携帯可能電子装置
JP2501050Y2 (ja) Icカ―ド
JPH01147686A (ja) 携帯可能電子装置
JP2001202487A (ja) 携帯可能電子装置およびキー照合方法
JP4457573B2 (ja) Icカード及びプログラム書き込み方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090515

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: 20091013

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: 20091014

R150 Certificate of patent or registration of utility model

Ref document number: 4393733

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121023

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131023

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees