JP5225054B2 - Icカード - Google Patents

Icカード Download PDF

Info

Publication number
JP5225054B2
JP5225054B2 JP2008324631A JP2008324631A JP5225054B2 JP 5225054 B2 JP5225054 B2 JP 5225054B2 JP 2008324631 A JP2008324631 A JP 2008324631A JP 2008324631 A JP2008324631 A JP 2008324631A JP 5225054 B2 JP5225054 B2 JP 5225054B2
Authority
JP
Japan
Prior art keywords
file
logical channel
card
application
access order
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
JP2008324631A
Other languages
English (en)
Other versions
JP2010146410A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008324631A priority Critical patent/JP5225054B2/ja
Priority to EP09002739.2A priority patent/EP2199994B1/en
Priority to SG200901444-0A priority patent/SG162645A1/en
Priority to US12/403,774 priority patent/US8082395B2/en
Publication of JP2010146410A publication Critical patent/JP2010146410A/ja
Application granted granted Critical
Publication of JP5225054B2 publication Critical patent/JP5225054B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/356Aspects of software for card payments
    • G06Q20/3563Software being resident 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)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、たとえば、データの書込み、書換え可能な不揮発性メモリおよびCPUなどの制御素子を有したモジュールを内蔵し、外部から入力されるコマンドに対応した処理を実行するICカードに関する。
従来、携帯可能電子装置としては、たとえば、メモリやCPUなどの機能を有したICモジュールがプラスチック板などで構成される筐体内に埋設されているICカードがある。このようなICカードでは、外部装置からのコマンドに応じて書き換え可能な不揮発性メモリにデータを書き込んだり、不揮発性メモリからデータを読み出したりするようになっている。このようなICカードは、セキュリティの重要性から、入退出管理、クレジットカード、携帯電話機、電子商取引など様々な分野で利用されている。さらに、近年では、1つのICカードを様々な用途で利用するために、複数のアプリケーションを動作させる運用形態も多くなってきている。
一般に、ICカードと上位装置(端末)のデータの送受信は、ロジカルチャネルと呼ばれる「通信のためのチャネル」を経由して実施される。従来、一般的な運用形態では、ICカードと端末とが1対1で通信を行うことが多いため、1つのチャネルのみで処理が完結することが多い。ただし、近年では、1つのICカードと複数の端末とで通信を行うケースが増えてきている。これは、ICカードの基本性能が向上したこと、あるいは、外部との複数のインターフェース(接触型、非接触型、あるいは、高速タイプの接触型など)を有するICカードが多くなってきていることなどが要因である。複数の端末と通信を行う場合、ICカードは、複数のチャネルを開設し、それぞれのチャネルがそれぞれの対象ファイル(あるいはアプリケーション)にアクセスする制御を行う。
しかしながら、ICカードにおける各ファイルへのアクセスは、複数のチャネルごとに管理されていないのが現状である。つまり、従来のICカードでは、複数のチャネルから各ファイルに無条件にアクセスことが可能となっている。このように複数のチャネルから無条件で各ファイルにアクセス可能であると、ICカード内で、様々が問題が発生することがある。たとえば、第1のチャネルでアクセス中のファイルが第2のチャネルで書換えられてしまうようなことが起こりうる。このような現象が起こると、第1のチャネルで期待された処理が実現できなくなってしまうという問題がある。
特開2005−11147号公報
この発明は、複数のチャネルでのアクセス制御を確実かつ効率的に行うことができるICカードを提供することを目的する。
この発明の一形態としてのICカードは、上位装置と通信する通信部と、オペレーティングプログラムを記憶する第1のメモリと、アプリケーションプログラムを記憶する第2のメモリと、ファイルを記憶するデータメモリと、前記通信部が受信するコマンドを指定された論理チャネルで前記オペレーティングプログラムおよび前記アプリケーションプログラムにより実行するプロセッサとを有するものであって、各論理チャネルが前記データメモリに記憶しているファイルをカレント状態とした順番をアクセス順番として記憶するアクセス順番記憶手段と、前記ファイルに対するカレント状態を解除した論理チャネルを当該ファイルに対するアクセス順番の管理対象から外し、当該論理チャネルよりもアクセス順番が後であった全チャネルのアクセス順番を繰り上げるアクセス順番更新手段と、前記通信部によりコマンドを受信した場合、前記プロセッサが実行するオペレーティングシステムプログラムが前記コマンドで指定されたファイルにアクセスする論理チャネルのアクセス順番を前記アクセス順番記憶手段により確認し、前記コマンドを実行するアプリケーションプログラムへ提供する論理チャネル管理手段と、前記論理チャネル管理手段から提供されるアクセス順番に従って前記ファイルへのアクセスを制御して前記プロセッサがアプリケーションプログラムを実行する処理実行手段とを有する。
この発明によれば、複数のチャネルでのアクセス制御を確実かつ効率的に行うことができるICカードを提供することができる。
以下、この発明を実施するための最良の形態について図面を参照して説明する。
図1は、この実施の形態に係る携帯可能電子装置としてのICカード1のハードウエア構成を概略的に示すものである。
図1に示すように、ICカード1は、CPU(セントラル・プロセッシング・ユニット)11、ROM(リード・オンリ・メモリ)12、RAM(ランダム・アクセス・メモリ)13、通信ユニット(UART)14、不揮発性メモリ(NV(EEPROM))15、および、コプロセッサ(Co−Processor)16などを有している。
上記CPU11、ROM12、RAM13、通信ユニット14、コプロセッサ15および不揮発性メモリ16は、ICチップなどにより一体的に形成されたモジュールCaにより構成される。このモジュールCaは、当該ICカード1を形成する筐体Cの内部に埋設される。すなわち、上記ICカード1は、モジュールCaが埋設された筐体Cにより構成されている。
また、上記ICカード1は、上位装置としての上記ICカード処理装置2から電力などの供給を受けた際、活性化し(動作可能な状態となり)、上記ICカード処理装置2からのコマンドに応じて動作するようになっている。
上記CPU11は、全体的な管理や制御を司るものである。上記CPU11は、処理手段や判断手段として機能する。上記CPU11は、制御プログラム等に基づいて動作することにより種々の処理を行う。上記ROM12は、制御用プログラムや制御データなどが予め格納されている不揮発性メモリである。上記RAM13は、ワーキングメモリとして機能する揮発性のメモリである。
上記通信ユニット14は、通信手段として機能し、上位装置としてのICカード処理装置2とのデータ通信を制御するものである。また、上記通信ユニット14は、上記ICカード1が動作するための電源を受給する手段としても機能する。上記コプロセッサ15は、暗号化あるいは復号化などの演算の補助を行うものである。上記不揮発性メモリ16は、各種データやアプリケーション(アプリケーションプログラム)などを記憶する書き換え可能な不揮発性メモリである。なお、上記不揮発性メモリ16に記憶されるデータの構造については、後で詳細に説明する。
また、上記通信ユニット14は、ICカード1の通信方式に応じた構成を有している。たとえば、上記ICカード1の通信方式が接触式の通信方式である場合、上記通信ユニット14は、上位装置としてのICカード処理装置2のコンタクト部と物理的に接触するためのコンタクト部などにより構成される。この場合、ICカード1は、ICカード処理装置2と物理的に接触している上記通信ユニット14によりICカード処理装置2からの電源を受給する。つまり、上記ICカード1が接触式ICカードである場合、上記ICカード1は、通信ユニット14としてのコンタクト部を介してICカード処理装置2からの動作電源および動作クロックの供給を受けて活性化される。
また、上記ICカード1の通信方式が非接触式(無線式)の通信方式である場合、上記通信ユニット14は、電波の送受信を行うアンテナおよび通信を制御する通信制御部等により構成される。この場合、上記ICカード1は、通信ユニット14により受信した電波から図示しない電源部により動作電源および動作クロックを生成するようになっている。つまり、上記ICカード2が非接触式ICカードである場合、上記ICカード2は、通信ユニット14としてのアンテナおよび通信制御部等を介してICカード処理装置2からの電波を受信し、その電波から図示しない電源部により動作電源および動作クロックを生成して活性化するようになっている。
次に、上記不揮発性メモリ16に記憶されるデータの構成について説明する。
上記不揮発性メモリ16には、たとえば、ISO/IEC7816において定義されたファイル構造で各種のデータが記憶される。たとえば、上記不揮発性メモリ16には、複数階層構造(ツリー構造)で管理されるデータファイルとしてのファイル(EF:Elementary File)、および、データフォルダとしてのファイル(DF:Dedicated File)が記憶されている。
図2は、上記不揮発性メモリ16に記憶されているファイル構造の例を示す図である。
図2に示す例では、最上位がマスタファイルとしてのファイル(MF:Master File)21である。上記MF21の配下には、フォルダとしてのDF(アプリケーションA)22A、および、フォルダとしてのDF(2アプリケーションB)22Bが設けられている。さらに、上記DF(アプリケーションA)22Aの配下には、データの格納などに使用されるEF(ファイルA1)23A1およびEF(ファイルA2)23A2が設けられている構成になっている。さらに、上記DF(アプリケーションB)22Bの配下には、データの格納などに使用されるEF(ファイルB1)23B1が設けられている構成になっている。このようなファイル構造では、各種のデータは、データファイルとしてのEFに記憶される。
次に、上記ICカード1におけるソフトウエア構成について説明する。
上記ICカード1では、上述したように、CPU11がROM12あるいは不揮発性メモリ16に記憶されているプログラムを実行することにより、種々の処理を実現している。すなわち、上記ICカード1では、CPU11が実行するソフトウエアによってROM12、RAM13、不揮発性メモリ16、UART14あるいはコプロセッサ15などを制御することにより種々の処理を実現している。
図3は、上記ICカード1におけるソフトウエア構成を模式的に示す図である。
上記ICカード1におけるソフトウエアは、ハードウエア(H/W)層31、OS(オペレーティングシステム)層32、および、アプリケーション層33から構成される。図3に示すように、上記ICカード1では、上記アプリケーション層33が最上位に位置し、上記OS層32が上記H/W層31の上位に位置するような構造となっている。
上記H/W層31は、上記CPU11、ROM12、RAM13、UART14、コプロセッサ15、不揮発性メモリ16などのハードウエアから構成される。上記H/W層31の各ハードウエアは、上記OS層32からの処理要求に応じて処理を実行したり、実行した処理の結果を上記OS層32に送ったりするものである。
上記OS層32は、当該ICカード1における基本的な制御を実行するためのプログラムとしてのカードOS(オペレーティングシステム)41を有する。なお、上記OS層32は、環境設定モジュール、アプリケーションインタフェース群などのモジュールなどを有するようにしても良い。上記カードOS41としてのソフトウエアは、当該ICカードの基本的な動作を司るプログラムであり、上記H/W層31の各ハードウエアを制御したり、各ハードウエアからの処理結果などの情報を受けて動作したりするプログラムである。上記カードOS41としてのソフトウエアは、ICカード内における不揮発性のメモリに予め記憶されているものであり、たとえば、上記ROM23などに記憶される。
また、上記カードOS41は、当該ICカード1の基本動作を実現するためのH/W層の各ハードウエアを制御する基本機能に加えて、ロジカルチャネル管理機能42を有している。ロジカルチャネルとは、上記不揮発性メモリ16内の各ファイルあるいは各アプリケーションに対してアクセスするための論理的なチャネルを管理するものである。たとえば、複数の通信方式で通信を行っている場合、各通信方式ごとにロジカルチャネルが割り当てられる。このようなロジカルチャネルによる制御を行うことにより、ICカード1では、各チャネルごとに複数系列のコマンド群を処理することができる。たとえば、アプリケーションAでは、第1のチャネルでコマンド処理を実行し、アプリケーションBでは、第2のチャネルでコマンド処理を実行するという処理が可能となっている。
上記ロジカルチャネル管理機能42は、上記のようなロジカルチャネルを管理する機能である。すなわち、上記ロジカルチャネル管理機能42は、ロジカルチャネルのオープン及びクローズを制御したり、アプリケーションプログラムに対してロジカルチャネルを割り当てたり、チャネル管理テーブル42aを用いてファイルあるいはアプリケーションに対する各ロジカルチャネルのアクセス順番を管理したりするものである。また、上記チャネル管理テーブル42aに記憶される情報は、各ロジカルチャネルでカレントとして設定するファイルあるいはアプリケーションプログラムなどの変更に応じて、テーブル更新機能42bにより更新される。
上記アプリケーション層33は、各種の処理を実現するためのプログラムとしての各種のアプリケーション(アプリケーションA、アプリケーションB、…)から構成される。上記各アプリケーションとしてのソフトウエアは、当該ICカード1の運用形態に応じた各種の処理を実現するためのプログラムおよびデータなどにより構成される。上記アプリケーションとしてのソフトウエアは、予めICカード1内の不揮発性のメモリ16に記憶されたり、適宜外部装置からダウンロードしてICカード1内の不揮発性メモリ16に記憶されたりするものである。
すなわち、上記H/W層31の各ハードウエアは、上記OS層32のカードOS41により制御される。上記OS層32のカードOS41は、上記アプリケーション層33の各アプリケーションから要求に応じて各ハードウエアの動作を制御する。また、上記H/W層31の各ハードウエアによる処理結果等は、上記OS層32のカードOS41を介してアプリケーションへ供給される。たとえば、外部装置からのコマンドは、上記H/W層31のハードウエアにより受信され、上記OS層32のカードOS41へ供給される。上記カードOS41では、上記H/W層31で受信したコマンドを選択的にアプリケーション層33における特定のアプリケーションへ供給する。
たとえば、上記H/W層31で外部装置からアプリケーション選択コマンドを受信した場合、上記カードOS41は、上記アプリケーション層33から当該アプリケーション選択コマンドで指定されたアプリケーションをカレント状態とする。この状態において上記H/W層31で外部装置からコマンドを受信した場合、上記カードOS41は、当該コマンドをカレント状態のアプリケーションへ供給する。これにより、アプリケーション層33の各アプリケーションは、上記OS層32のカードOS41から供給されるコマンドに応じた処理を実行する。すなわち、上記カードOS41は、カレント状態のアプリケーション(以下、カレントアプリケーションとも称する)を指定し、カレントアプリケーションに対してコマンドを供給するようになっている。
次に、上記ロジカルチャネル管理機能42について説明する。
図4、図5及び図6は、上記チャネル管理テーブル42aの構成例を示す図である。
すなわち、図4、図5及び図6に示すように、上記チャネル管理テーブル42aは、各アプリケーションおよび各ファイルごとに各ロジカルチャネルのアクセス順番が格納されている。つまり、上記チャネル管理テーブル42aに格納されるアクセス順番は、各ロジカルチャネルが各ファイルあるいは各アプリケーションをカレントに設定した順番(アクセスした順番)を示す情報である。
上記チャネル管理テーブル42aに格納される情報は、上記テーブル更新機能42bにより適宜更新される。たとえば、新たなロジカルチャネルをオープンした場合、上記テーブル更新機能42bは、当該ロジカルチャネルでカレントに設定するファイルあるいはアプリケーションに追加する。この場合、カレントに設定するファイルあるいはアプリケーションに対する当該ロジカルチャネルのアクセス順番は、アクセス中のロジカルチャネルの後(つまり、アクセス順番が最後尾)とする。また、既存のロジカルチャネルをクローズした場合、上記テーブル更新機能42bは、当該ロジカルチャネルをチャネル管理テーブル42aから削除する。この場合、上記テーブル更新機能42bは、当該ロジカルチャネルをチャネル管理テーブル42aから削除するとともに、当該ロジカルチャネルよりも後のアクセス順番となっている全ロジカルチャネルのアクセス順番を繰り上げる。
まず、上記テーブル更新機能42bがチャネル管理テーブル42aに格納されるアクセス順番にロジカルチャネルを追加する処理について説明する。
図4に示すチャネル管理テーブル42aでは、アプリケーションAは、ロジカルチャネル「ch.1」、「ch.3」、「ch.0」の順にカレント設定され、ファイルA1は、ロジカルチャネル「ch.1」、「ch.3」の順にカレント設定されていることを示している。すなわち、図4に示すチャネル管理テーブル42aでは、ロジカルチャネル「ch.1」は、アプリケーションAとファイルA1とをそれぞれカレント設定していることを示している。また、図4に示すチャネル管理テーブル42aにおいて、アプリケーションBは、ロジカルチャネル「ch.2」でカレント設定されている。
チャネル管理テーブル42aが図4に示すような状態において、ロジカルチャネル「ch.2」でアプリケーションAのファイルA1を選択する処理(ロジカルチャネル「ch.2」でアプリケーションA及びファイルA1をカレント設定する処理)を実施したものとする。この場合、上記テーブル更新機能42bは、チャネル管理テーブル42aの状態を図5に示すような状態に遷移させる。
すなわち、ロジカルチャネル「ch.2」のカレントファイルをアプリケーションAのファイルA1にする場合、上記テーブル更新機能42bは、上記チャネル管理テーブル42aにおけるアプリケーションBに対するアクセス順番からロジカルチャネル「ch.2」を削除すると共に、チャネル管理テーブル42aにおけるアプリケーションA及びファイルA1に対するアクセス順番の最後尾にそれぞれロジカルチャネル「ch.2」を追加する。これにより、チャネル管理テーブル42aは、図5に示すように、アプリケーションA及びファイルA1を最後にカレントに設定したロジカルチャネルが「ch.2」であることを示す状態となる。図5に示すようなチャネル管理テーブル42aによれば、ロジカルチャネル「ch.2」のファイルA1へのアクセス順番は、ロジカルチャネル「ch.1」及び「ch.3」の次であることが判別できる。
次に、上記テーブル更新機能42bがチャネル管理テーブル42aに格納されるアクセス順番からロジカルチャネルを削除する処理について説明する。
ここでは、上記チャネル管理テーブル42aが図5に示すような状態において、ロジカルチャネル「ch.1」をクローズする処理が実施される場合を想定するものとする。この場合、上記テーブル更新機能42bは、クローズされるロジカルチャネル「Ch.1」を上記チャネル管理テーブル42aから削除する(ロジカルチャネル「Ch.1」を管理対象から外す)ことにより、チャネル管理テーブル42aの状態を図6に示すような状態に遷移させる。
すなわち、ロジカルチャネル「ch.1」をクローズする場合、上記テーブル更新機能42bは、チャネル管理テーブル42aにおけるロジカルチャネル「ch.1」を削除すると共に、ロジカルチャネル「ch.1」以外に続く各ロジカルチャネルのアクセス順番をそれぞれ繰り上げる。たとえば、図5に示すチャネル管理テーブル42aでは、アプリケーションA及びファイルA1に対するアクセス順番が最上位のロジカルチャネル「ch.1」が削除される。このため、上記チャネル管理テーブル42aは、図6に示すように、アプリケーションAに対するアクセス順番がロジカルチャネル「Ch.3」、「Ch.0」、「Ch.2」となり、ファイルA1に対するアクセス順番がロジカルチャネル「Ch.3」、「Ch.2」となる。
上記のように、チャネル管理テーブル42aにおいて、各アプリケーション及び各ファイルに対する各ロジカルチャネルのアクセス順番は、各ロジカルチャネルがカレントに設定した順番を示すものである。ロジカルチャネルがクローズされた場合、あるいは、ロジカルチャネルのカレント設定が変更された場合、各ロジカルチャネルに与えられていたアクセス順番は変更される。言い換えると、本ICカード1では、特定のロジカルチャネルに対してクローズ及びオープン、あるいは、各ロジカルチャネルのカレント設定の変更を行うことにより、チャネル管理テーブル42aにおける各ロジカルチャネルのアクセス順番を変更することが可能である。
すなわち、特定のロジカルチャネルがクローズされた場合、上記チャネル管理テーブル42aでは、クローズされたロジカルチャネルが管理対象から除外され、それ以外の各ロジカルチャネルのアクセス順番が繰り上がる。これにより、ロジカルチャネルがクローズされた場合であっても、他のロジカルチャネルでのアプリケーションあるいはファイルに対するアクセスに矛盾が生じることのない管理を実現できる。言い換えると、特定のロジカルチャネルに対してクローズとオープンとを行うことにより、当該ロジカルチャネルのアクセス順番を最後尾にすることが可能となっている。
次に、ICカード処理装置2からのコマンドに対するICカード1における処理について説明する。
上記のようなチャネル管理テーブル42aによって、上記カードOS41のロジカルチャネル管理機能42では、各アプリケーションに処理を実施しているチャネル番号を通知したり、各ファイルあるいは各アプリケーションに対する各ロジカルチャネルの優先権(アクセス順序)を通知したりする。これにより、コマンドを受けた各アプリケーションでは、カードOS41から提供される優先権を示す情報に基づいて、当該コマンドに対する処理内容を決定することが可能となる。
各アプリケーションでは、カードOS41を介してICカード処理装置2からのコマンドが与えられる。この場合、アプリケーションは、自身のロジカルチャネルの優先順位に基づいて受信したコマンドに対する処理を実行するか否かを判断する。さらに、各アプリケーションでは、自身のロジカルチャネルの優先順位と受信したコマンドの種類とに基づいて、当該コマンドに対する処理を実行するか否かを判断するようにしても良い。言い換えると、受信したコマンドを実行するか否かを判断するか否かは、各アプリケーションがカードOS41から提供されるロジカルチャネルのアクセス順序(優先権)を示す情報により決定するようになっている。
たとえば、コマンドを受信したアプリケーションでは、自身のロジカルチャネルの優先順位が最上位である場合、全てのコマンドに対する処理を実行可を判断するようにする。また、コマンドを受信したアプリケーションでは、自身のロジカルチャネルの優先順位が最上位でない場合、受信したコマンドがファイルの状態を変更するコマンド(たとえば、書換えあるいは削除などのコマンド)に対する処理を実行不可と判断し、受信したコマンドがファイルの状態を変更しないコマンド(たとえば、読出しなどのコマンド)に対する処理を実行可と判断するようにする。
上記のように、受信したコマンドに対する処理内容(実行の可否)は、アプリケーションが決定ようにすることができる。従って、各アプリケーションにより実現される処理は、上述した例にかかわらずに、以下のような種々の形態が可能である。
たとえば、特定のアプリケーション(最優先とするアプリケーション)は、ロジカルチャネルの優先順位によらずに、常に全てのコマンドに対する処理を実行するようにしても良い。また、受信したコマンドの種類によらずに、最上位のロジカルチャネルでなければ、全てのコマンドに対する処理を実行しないようにしても良い。さらには、たとえば、履歴情報をレコード単位で順次格納する特定のファイルについては、ロジカルチャネルの優先順位によらずに、書込み処理を許可するようにしても良い。
上記のように、本ICカード1では、アプリケーションごとに、別のロジカルチャネルとカレント設定が競合する場合のコマンドに対する処理内容に自由に設計でき、運用形態などに応じた自由度の高いシステムを実現できる。
図7は、ICカード処理装置2からのコマンドに対する処理例を説明するためのフローチャートである。なお、カードOS41および各アプリケーションの動作は、CPU11により実現されるものであるが、以下の処理例では、カードOS41の動作と各アプリケーション22(22A、22B、…)の動作とに分けて説明するものとする。
まず、ICカード処理装置2からのコマンドをUART14により受信すると(ステップS10)、CPU11により実行されるカードOS41は、受信したコマンドをアプリケーション(ここではアプリケーション22Aとする)に通知する(ステップS11)。
上記カードOS41からコマンドを取得すると(ステップS12)、上記アプリケーション22Aは、自身のロジカルチャネルをカードOS41に対して問合せる(ステップS13)。
この問合せに対して、カードOS41は、ロジカルチャネル管理機能42によりチャネル管理テーブル42aを参照し、当該アプリケーション22Aのロジカルチャネルを判別する(ステップS14)。上記アプリケーション22Aのロジカルチャネルを判別すると、カードOS41は、上記アプリケーション22Aに対してロジカルチャネルを示す情報を通知する(ステップS15)。
これにより、上記アプリケーション22Aは、自身のロジカルチャネルを確認する。なお、コマンドを受信したアプリケーションが自身に割り当てられたロジカルチャネルを確認する方法としては、上記ステップS13〜S16の処理に限らず、受信したコマンドのCLASSバイトから直接確認する方法、あるいは、カード仕様によって予め用意されてる専用のAPIにより取得する方法なども適用可能である。
上記カードOS41から自身のロジカルチャネルを示す情報を取得すると、上記アプリケーション22Aは、当該コマンドにおいてアクセス対象となるファイルを判別し、アクセス対象となるファイルの各ロジカルチャネルによるアクセス状況をカードOS41に問い合わせる(ステップS21)。
この問合せに対して、カードOS41は、上記ロジカルチャネル管理機能42によりチャネル管理テーブル42aを参照して、アクセス対象とするファイルに対する各ロジカルチャネルのアクセス順番(優先順位)を判定する(ステップS22)。上記アクセス対象のファイルに対する各ロジカルチャネルのアクセス順番を判別すると、カードOS41は、上記アプリケーション22Aに対して当該ファイルに対する各ロジカルチャネルのアクセス順番を示す情報を通知する(ステップS23)。
上記アクセス対象とするファイルに対する各ロジカルチャネルのアクセス順番を示す情報を取得すると(ステップS24)、アプリケーション22Aは、当該コマンドに対する処理を実行するか否かを判定する処理を行う(ステップS25〜S26)。すなわち、アプリケーション22Aは、当該コマンドがアクセス対象とするファイルにアクセスしている(当該ファイルをカレントに設定している)別のロジカルチャネルが存在するか否かを判断する(ステップS25)。
別のロジカルチャネルで当該ファイルへのアクセスが無いと判断した場合(ステップS25、NO)、上記アプリケーション22Aは、当該コマンドに対する処理を実行し(ステップS28)、その処理結果をカードOS41へ通知する(ステップS29)。なお、上記ステップS28のコマンドに対する処理では、アプリケーション22Aは、カードOS41と共同して当該ファイルが格納されているメモリへのアクセスなどを実現するようになっている。
また、別のロジカルチャネルで当該ファイルへのアクセスが有ると判断した場合(ステップS25、NO)、上記アプリケーション22Aは、カードOS41から取得した各ロジカルチャネルのアクセス順番を示す情報に基づいて、自身のロジカルチャネルに当該ファイルに対する優先権があるか否かを判断する(ステップS26)。たとえば、上記アプリケーション22Aは、カードOS41から取得した各ロジカルチャネルのアクセス順番において、自身のロジカルチャネルが最上位であるか否かにより、当該ファイルに対する優先権があるか否かを判断する。
上記判断により自身のロジカルチャネルに優先権があると判断した場合(ステップS26、YES)、上記アプリケーション22Aは、当該コマンドに対する処理を実行し(ステップS28)、その処理結果をカードOS41へ通知する(ステップS29)。
また、上記判断により自身のロジカルチャネルに優先権がないと判断した場合(ステップS26、NO)、上記アプリケーション22Aは、当該コマンドの種類が実行可能なコマンドであるか否かを判断する(ステップS27)。上記ステップS27の処理は、各アプリケーションごとの設定に応じて判断されるものである。たとえば、ライト系のコマンドを実行不可とし、リード系のコマンドを実行可能となるような形態が可能である。また、全コマンドを実行不可としたり、全コマンドを実行可としたりする形態も可能である。さらには、アクセス対象となるファイルのタイプによって、実行の可否を判定するような形態も可能である。
たとえば、アプリケーション22Aでは、書換えなどのファイルの状態を書き換えてしまうようなコマンドを実行不可とし、それ以外のコマンドを実行可と設定されているものとする。このような場合、上記アプリケーション22Aは、受信したコマンドが書換えコマンドであれば、当該コマンドの処理を実行不可を判断する。また、受信したコマンドが読出しコマンドであれば、上記アプリケーション22Aは、当該コマンドの処理を実行可と判断する。
上記判断により受信したコマンドの処理を実行可と判断した場合(ステップS27、YES)、上記アプリケーション22Aは、当該コマンドに対する処理を実行し(ステップS28)、その処理結果をカードOS41へ通知する(ステップS29)。また、上記判断により受信したコマンドの処理を実行不可と判断した場合(ステップS27、NO)、上記アプリケーション22Aは、当該コマンドに対する処理を実行不可(中断)し、当該コマンドに対する処理を中断した旨を処理結果としてカードOS41へ通知する(ステップS29)。
上記アプリケーション22Aから受信したコマンドに対する処理を取得すると(ステップS30)、カードOS41は、上記アプリケーション22Aから通知された処理結果を受信したコマンドに対するレスポンスデータとしてICカード処理装置2へ送信する(ステップS31)
上記のように、本ICカード1のカードOS41では、各ファイルに対してカレント設定しているチャネルとそれらのチャネルのアクセス順番とを管理しておき、アプリケーションが、受信したコマンドに応じてアクセスしようとするファイルについて、「既に他のチャネルが対象のファイルをカレント設定しているか」、「アクセスする優先権(アクセスした順番)はどのチャネルにあるか」をカードOS41から提供される情報により確認することにより、複数のチャネルでのカレント設定に応じたアクセス制御を行う。
上記のような処理により、あるアプリケーションのコマンド処理において、アクセスするファイルが他のチャネルで既にカレント設定されていなかをカードOS41が確認することができ、複数のロジカルチャネルでカレント設定されているファイルに対する処理を確実に管理することができる。
つまり、本実施の形態のICカードでは、オペレーティングシステムが、不揮発性メモリに記憶されている各ファイルに対してアクセス中のチャネルを示す情報をチャネル管理テーブルにより管理し、前記チャネル管理テーブルで管理されている情報を参照することにより受信したコマンドがアクセス対象とするファイルにアクセス中のロジカルチャネルを示す情報を当該コマンドを処理するアプリケーションに提供し、前記アプリケーションが前記オペレーティングシステムから提供された情報に基づいて前記コマンドに対する処理の実行の可否を判定する。これにより、複数のロジカルチャネルでのアクセス制御において、別のロジカルチャネルとカレント設定(アクセス中のファイル)が競合する場合のコマンドに対する処理内容をアプリケーションごとに運用形態などに応じて設計できる。
この発明の実施の形態に係る携帯可能電子装置としてのICカードのハードウエア構成を概略的に示すブロック図。 不揮発性メモリに記憶されるデータのファイル構成例を示す図。 ICカードにおけるソフトウエア構成を説明するための模式図。 チャネルのアクセス順序を管理するためのチャネル管理テーブルの構成例を示す図。 チャネルのアクセス順序を管理するためのチャネル管理テーブルの構成例を示す図。 チャネルのアクセス順序を管理するためのチャネル管理テーブルの構成例を示す図。 ICカードにおけるコマンドに対する処理例を説明するためのフローチャート。
符号の説明
1…ICカード、2…ICカード処理装置、11…CPU、12…ROM、13…RAM、14…通信ユニット(UART)、15…コプロセッサ、16…不揮発性メモリ、Ca…モジュール、C…本体、31…ハードウエア層、32…OS層、33…アプリケーション層、41…カードOS、42…ロジカルチャネル管理機能、42a…チャネル管理テーブル、42b…テーブル更新機能。

Claims (6)

  1. 上位装置と通信する通信部と、オペレーティングプログラムを記憶する第1のメモリと、アプリケーションプログラムを記憶する第2のメモリと、ファイルを記憶するデータメモリと、前記通信部が受信するコマンドを指定された論理チャネルで前記オペレーティングプログラムおよび前記アプリケーションプログラムにより実行するプロセッサとを有するICカードであって、
    各論理チャネルが前記データメモリに記憶しているファイルをカレント状態とした順番をアクセス順番として記憶するアクセス順番記憶手段と、
    前記ファイルに対するカレント状態を解除した論理チャネルを当該ファイルに対するアクセス順番の管理対象から外し、当該論理チャネルよりもアクセス順番が後であった全チャネルのアクセス順番を繰り上げるアクセス順番更新手段と、
    前記通信部によりコマンドを受信した場合、前記プロセッサが実行するオペレーティングシステムプログラムが前記コマンドで指定されたファイルにアクセスする論理チャネルのアクセス順番を前記アクセス順番記憶手段により確認し、前記コマンドを実行するアプリケーションプログラムへ提供する論理チャネル管理手段と、
    前記論理チャネル管理手段から提供されるアクセス順番に従って前記ファイルへのアクセスを制御して前記プロセッサが前記アプリケーションプログラムを実行する処理実行手段と、
    を有するICカード
  2. 前記処理実行手段は、当該アプリケーションプログラムに割り当てられている論理チャネルの前記ファイルに対するアクセス順番に応じて、前記ファイルに対するアクセスを制限する、
    前記請求項1に記載のICカード
  3. 前記処理実行手段は、当該アプリケーションプログラムに割り当てられている論理チャネルの前記ファイルに対するアクセス順番が最上位である場合に、前記ファイルに対して制限無しでアクセスする、
    前記請求項2に記載のICカード
  4. 前記処理実行手段は、当該アプリケーションプログラムに割り当てられている論理チャネルの前記ファイルに対するアクセス順番が最上位である場合には前記ファイルに対して制限無しでアクセスし、それ以外の場合には前記ファイルに対して一律の制限を加える、
    前記請求項1に記載のICカード
  5. 前記処理実行手段は、前記ファイルに対してファイルの状態を変更する処理を実行する場合、当該アプリケーションプログラムに割り当てられているチャネルの前記ファイルに対するアクセス順番が最上位でなければ、前記ファイルへのアクセスを禁止とする、
    前記請求項1乃至4の何れか1項に記載のICカード
  6. 前記処理実行手段は、前記ファイルに対してファイルの状態を変更させない処理を実行する場合、前記ファイルに対するアクセス順番にかかわらず、前記ファイルへのアクセスを許可する、
    前記請求項1乃至5の何れか1項に記載のICカード
JP2008324631A 2008-12-19 2008-12-19 Icカード Expired - Fee Related JP5225054B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008324631A JP5225054B2 (ja) 2008-12-19 2008-12-19 Icカード
EP09002739.2A EP2199994B1 (en) 2008-12-19 2009-02-26 Portable electronic device
SG200901444-0A SG162645A1 (en) 2008-12-19 2009-02-26 Portable electronic device
US12/403,774 US8082395B2 (en) 2008-12-19 2009-03-13 Portable electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008324631A JP5225054B2 (ja) 2008-12-19 2008-12-19 Icカード

Publications (2)

Publication Number Publication Date
JP2010146410A JP2010146410A (ja) 2010-07-01
JP5225054B2 true JP5225054B2 (ja) 2013-07-03

Family

ID=40756694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008324631A Expired - Fee Related JP5225054B2 (ja) 2008-12-19 2008-12-19 Icカード

Country Status (4)

Country Link
US (1) US8082395B2 (ja)
EP (1) EP2199994B1 (ja)
JP (1) JP5225054B2 (ja)
SG (1) SG162645A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010211516A (ja) * 2009-03-10 2010-09-24 Toshiba Corp 携帯可能電子装置および携帯可能電子装置におけるアクセス制御方法
US8933282B2 (en) 2010-06-17 2015-01-13 Danisco Us Inc. Fuel compositions comprising isoprene derivatives
KR102288826B1 (ko) 2018-06-22 2021-08-12 소프트 서보 시스템즈 가부시키가이샤 모션 제어 프로그램, 모션 제어 방법 및 모션 제어 장치
US11300939B2 (en) 2018-06-22 2022-04-12 Soft Servo Systems, Inc. Motion control program, motion control method, and motion control device
IL279689B (en) 2018-06-22 2022-09-01 Soft Servo Systems Inc Motion control software, motion control method and motion control device
JP6578610B1 (ja) * 2019-01-10 2019-09-25 ソフトサーボシステムズ株式会社 モーション制御プログラム、モーション制御方法及びモーション制御装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3699530A (en) 1970-12-30 1972-10-17 Ibm Input/output system with dedicated channel buffering
JPH0259937A (ja) * 1988-08-26 1990-02-28 Hitachi Maxell Ltd Icカード
US5642515A (en) * 1992-04-17 1997-06-24 International Business Machines Corporation Network server for local and remote resources
JPH06274397A (ja) * 1993-03-24 1994-09-30 Toshiba Corp ファイル管理方式
JP2000057114A (ja) * 1998-08-07 2000-02-25 Mitsubishi Materials Corp 異種os間データ通信方法及びそのプログラムを記録した媒体
US20020029343A1 (en) * 2000-09-05 2002-03-07 Fujitsu Limited Smart card access management system, sharing method, and storage medium
US6824064B2 (en) * 2000-12-06 2004-11-30 Mobile-Mind, Inc. Concurrent communication with multiple applications on a smart card
JP2003030596A (ja) * 2001-07-13 2003-01-31 Hitachi Ltd 論理チャネル管理機能付き記憶装置
US6776339B2 (en) * 2002-09-27 2004-08-17 Nokia Corporation Wireless communication device providing a contactless interface for a smart card reader
US6676022B1 (en) * 2002-10-04 2004-01-13 Mobile-Mind, Inc. Smart card system with command queuing
JP2005011147A (ja) 2003-06-20 2005-01-13 Dainippon Printing Co Ltd Icカード及びicカードプログラム
JP4828809B2 (ja) 2003-12-10 2011-11-30 株式会社東芝 Icカードおよびicカードにおける処理方法
US7240129B2 (en) 2004-02-25 2007-07-03 Analog Devices, Inc. DMA controller having programmable channel priority
JP4407431B2 (ja) * 2004-08-30 2010-02-03 株式会社日立製作所 計算機システム及び計算機システムの帯域制御方法
US7613856B2 (en) 2004-10-21 2009-11-03 Lsi Corporation Arbitrating access for a plurality of data channel inputs with different characteristics
US20060259665A1 (en) 2005-05-13 2006-11-16 Sanjive Agarwala Configurable multiple write-enhanced direct memory access unit
JP5011738B2 (ja) * 2006-01-31 2012-08-29 大日本印刷株式会社 Icカード、プログラム
US7766243B2 (en) 2006-07-19 2010-08-03 Research In Motion Limited Method, system and smart card reader for management of access to a smart card
CA2658419C (en) * 2006-07-19 2013-05-21 Research In Motion Limited Method, system and smart card reader for management of access to a smart card
JP4175404B2 (ja) 2006-07-25 2008-11-05 村田機械株式会社 Dma制御方法及びdmaコントローラ
US20080077720A1 (en) 2006-09-27 2008-03-27 Blaise Fanning Isochronous memory access with variable channel priorities and timers
JP4896842B2 (ja) * 2007-09-20 2012-03-14 株式会社東芝 携帯可能電子装置

Also Published As

Publication number Publication date
US8082395B2 (en) 2011-12-20
JP2010146410A (ja) 2010-07-01
SG162645A1 (en) 2010-07-29
US20100161913A1 (en) 2010-06-24
EP2199994B1 (en) 2013-11-27
EP2199994A1 (en) 2010-06-23

Similar Documents

Publication Publication Date Title
JP5225054B2 (ja) Icカード
JP5329884B2 (ja) 携帯可能電子装置および携帯可能電子装置におけるデータ処理方法
JP4896837B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
US9183400B2 (en) IC card and IC card control method
KR20140108666A (ko) 스마트 카드의 비휘발성 메모리에 데이터 쓰기
KR20150100075A (ko) 메모리 및 컨트롤러를 포함하는 메모리 장치의 펌웨어를 업데이트하는 방법
JP4896842B2 (ja) 携帯可能電子装置
KR101783526B1 (ko) Ic 카드, 전자 장치 및 휴대 가능 전자 장치
CN110908597B (zh) 适应性锁定范围管理的方法、数据存储装置及其控制器
CN113127074A (zh) 嵌入式系统
CN113064638A (zh) 嵌入式系统
KR100399603B1 (ko) 스마트 카드와 이의 os 프로그램 저장/삭제 및 실행방법
JP5214291B2 (ja) Icカードおよびicカードの制御方法
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
US20100235393A1 (en) Portable electronic device and access control method in portable electronic device
KR101530479B1 (ko) Ic 카드 및 휴대 가능 전자 장치
JP2006338311A (ja) 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム
JP4784138B2 (ja) Icカード、および、icカード用プログラム
US20090083273A1 (en) Portable electronic apparatus and control method for portable electronic apparatus
JP5957347B2 (ja) Icカード、および携帯可能電子装置
JP7334566B2 (ja) 電子情報記憶媒体、及びプログラム
JP5708228B2 (ja) Icカード及びicカードのリフレッシュ方法
RU2673394C2 (ru) Способ установки приложения на защищенный элемент
JP2010218147A (ja) 携帯可能電子装置および携帯可能電子装置におけるメモリ制御方法
JP2007034434A (ja) Icカード、icカードへのデータ書込み方法、および、icカードプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130312

R151 Written notification of patent or utility model registration

Ref document number: 5225054

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees