JP4896842B2 - 携帯可能電子装置 - Google Patents

携帯可能電子装置 Download PDF

Info

Publication number
JP4896842B2
JP4896842B2 JP2007243257A JP2007243257A JP4896842B2 JP 4896842 B2 JP4896842 B2 JP 4896842B2 JP 2007243257 A JP2007243257 A JP 2007243257A JP 2007243257 A JP2007243257 A JP 2007243257A JP 4896842 B2 JP4896842 B2 JP 4896842B2
Authority
JP
Japan
Prior art keywords
file
application
card
channel
access
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
JP2007243257A
Other languages
English (en)
Other versions
JP2009075797A (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 JP2007243257A priority Critical patent/JP4896842B2/ja
Priority to SG200806667-2A priority patent/SG151197A1/en
Priority to US12/205,235 priority patent/US20090083273A1/en
Priority to FR0856176A priority patent/FR2923630B1/fr
Publication of JP2009075797A publication Critical patent/JP2009075797A/ja
Application granted granted Critical
Publication of JP4896842B2 publication Critical patent/JP4896842B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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号公報
この発明は、複数のチャネルでのアクセス制御を確実かつ効率的に行うことができる携帯可能電子装置を提供することを目的する。
この発明の一形態としての携帯可能電子装置は、オペレーティングシステムプログラムを記憶する第1の記憶手段と、アプリケーションプログラムを記憶する第2の記憶手段と、前記第2の記憶手段に記憶されているアプリケーションプログラムで用いられるデータを記憶している第3の記憶手段と、前記第1の記憶手段に記憶されているオペレーティングシステムプログラムおよび前記第2の記憶手段に記憶されているアプリケーションプログラムを実行する制御手段とを有するものであって、前記オペレーティングシステムプログラムは、前記第3の記憶手段に記憶している各ファイルに対してアクセス中のチャネルを示す情報を管理する管理機能と、前記管理機能に管理されている情報を参照することにより、特定のファイルにアクセスしようとするアプリケーションに、前記ファイルにアクセス中のチャネルを示す情報を提供する提供機能とを有し、前記アプリケーションプログラムは、前記オペレーティングシステムから提供された情報と自身に割り当てられているチャネルとに基づいて前記ファイルへのアクセスの可否を判定する判定機能と、この判定機能により前記ファイルへのアクセスが不可であると判定した場合、前記ファイルへのアクセスを中断する中断機能と、前記判定機能により前記ファイルへのアクセスを許可すると判定した場合、前記ファイルへのアクセスを実行する実行機能とを有する。
この発明によれば、複数のチャネルでのアクセス制御を確実かつ効率的に行うことができる携帯可能電子装置を提供することができる。
以下、この発明を実施するための最良の形態について図面を参照して説明する。
図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は、チャネル管理テーブル42aを用いて各ロジカルチャネルの管理を行う機能である。チャネル管理テーブル42aの構成例については、後で詳細に説明するものとする。
上記アプリケーション層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は、チャネル管理テーブル42aの構成例を示す図である。
すなわち、図4及び図5に示すように、チャネル管理テーブル42aは、各アプリケーションおよび各ファイルごとに各ロジカルチャネルのアクセス順番が格納されている。つまり、チャネル管理テーブル42aに格納されるアクセス順番は、各ファイルあるいは各アプリケーションをカレントに設定したロジカルチャネルの順番(つまり、各ファイルあるいは各アプリケーションにアクセスしたロジカルチャネルの順番)である。
従って、図4に示すチャネル管理テーブル42aでは、アプリケーションAは、ロジカルチャネル「ch.1」、「ch.0」の順にカレント設定されたことを示している。また、図4に示すチャネル管理テーブル42aでは、ロジカルチャネル「ch.1」は、アプリケーションAとファイルA1とをそれぞれカレント設定していることを示している。また、図4に示すチャネル管理テーブル42aでは、アプリケーションBがロジカルチャネル「ch.2」でカレント設定されていることを示している。
たとえば、図4に示す状態において、ロジカルチャネル「ch.2」で、アプリケーションAのファイルA1を選択する処理(ロジカルチャネル「ch.2」でアプリケーションA及びファイルA1をカレント設定する処理)を実施したものとする。この場合、上記ロジカルチャネル管理機能42は、チャネル管理テーブル42aの状態を図5に示すような状態に遷移させる。
すなわち、上記ロジカルチャネル管理機能42は、チャネル管理テーブル42aにおけるアプリケーションBに対するアクセス順番からロジカルチャネル「ch.2」を削除する。これと共に、上記ロジカルチャネル管理機能42は、チャネル管理テーブル42aにおけるアプリケーションA及びファイルA1に対するアクセス順番の最後尾にそれぞれロジカルチャネル「ch.2」を追加する。これにより、チャネル管理テーブル42aは、図5に示すような状態となり、アプリケーションA及びファイルA1を最後にカレントに設定したロジカルチャネルが「ch.2」であることを示す状態となる。図5に示すようなチャネル管理テーブル42aによれば、ロジカルチャネル「ch.2」でファイルA1にアクセスしたい場合、ロジカルチャネル「ch.2」のアクセス順番は、ロジカルチャネル「ch.1」の次であることが判別できる。
上記カードOS41のロジカルチャネル管理機能42では、上記のようなチャネル管理テーブル42aによって、各アプリケーションに処理を実施しているチャネル番号を通知したり、各ファイルあるいは各アプリケーションに対する各ロジカルチャネルの優先権(アクセス順序)を通知したりする。これにより、コマンドを受けた各アプリケーションでは、カードOS41から提供される優先権を示す情報に基づいて、当該コマンドに対する処理内容を決定することが可能となる。
各アプリケーションでは、カードOS41を介してICカード処理装置2からのコマンドが与えられる。この場合、アプリケーションは、自身のロジカルチャネルの優先順位に基づいて受信したコマンドに対する処理を実行するか否かを判断する。さらに、各アプリケーションでは、自身のロジカルチャネルの優先順位と受信したコマンドの種類とに基づいて、当該コマンドに対する処理を実行するか否かを判断するようにしても良い。言い換えると、受信したコマンドを実行するか否かを判断するか否かは、各アプリケーションがカードOS41から提供されるロジカルチャネルのアクセス順序(優先権)を示す情報により決定するようになっている。
たとえば、コマンドを受信したアプリケーションでは、自身のロジカルチャネルの優先順位が最上位である場合、全てのコマンドに対する処理を実行可を判断するようにする。また、コマンドを受信したアプリケーションでは、自身のロジカルチャネルの優先順位が最上位でない場合、受信したコマンドがファイルの状態を変更するコマンド(たとえば、書換えあるいは削除などのコマンド)に対する処理を実行不可と判断し、受信したコマンドがファイルの状態を変更しないコマンド(たとえば、読出しなどのコマンド)に対する処理を実行可と判断するようにする。
上記のように、受信したコマンドに対する処理内容(実行の可否)は、アプリケーションが決定ようにすることができる。従って、各アプリケーションにより実現される処理は、上述した例にかかわずに、以下のような種々の形態が可能である。
たとえば、特定のアプリケーション(最優先とするアプリケーション)は、ロジカルチャネルの優先順位によらずに、常に全てのコマンドに対する処理を実行するようにしても良い。また、受信したコマンドの種類によらずに、最上位のロジカルチャネルでなければ、全てのコマンドに対する処理を実行しないようにしても良い。さらには、たとえば、履歴情報をレコード単位で順次格納する特定のファイルについては、ロジカルチャネルの優先順位によらずに、書込み処理を許可するようにしても良い。
上記のように、本ICカード1では、アプリケーションごとに、別のロジカルチャネルとカレント設定が競合する場合のコマンドに対する処理内容に自由に設計でき、運用形態などに応じた自由度の高いシステムを実現できる。
次に、ICカード処理装置2からのコマンドに対する処理について説明する。
図6は、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が確認することができ、複数のチャネルでカレント設定されているファイルに対する処理を確実に管理することができる。
次に、2つの具体例について説明する。
まず、第1の具体例として、優先権がない場合(アクセス順番が最上位でいない場合)に、書換えを不可とするように設計されたアプリケーションによる書換えコマンドに対する処理例について説明する。また、ここでは、各ロジカルチャネルが図5に示すような状態となっている場合を想定するものとする。
このような状態において、「ch.2」でアプリケーションAのファイルA1のデータを書き換えるコマンドを受信したものとする。すると、アプリケーションAは、カードOS41から自身のロジカルチャネル番号を取得する。続いて、アプリケーションAは、カードOSからアクセス対象のファイルであるファイルA1に対する各ロジカルチャネルのアクセス状況を示す情報(各ロジカルチャネルのアクセス順番)を取得する。
ここで、図5に示す例では、チャネル「ch.1」が既にカレント設定済みで、アクセス順番が「ch.1」、「ch.2」である旨の情報を取得する。このような情報により、アプリケーションAは、アクセス順が先の「ch.1」に優先権があると判定する。従って、「ch.2」のアプリケーションAは、ファイルA1に対する書換え処理については、優先権が無いため(「ch.1」に優先権があるため)、書換え処理を実行せずに、コマンド処理を終了する。
次に、第2の具体例として、優先権がない場合(アクセス順番が最上位でいない場合)にであっても、ファイルの状態を変更させない読出し処理は実行を許可とするように設計されたアプリケーションによる読出しコマンドに対する処理例について説明する。また、ここでは、各ロジカルチャネルが図5に示すような状態となっている場合を想定するものとする。
このような状態において、「ch.2」でアプリケーションAのファイルA1のデータを読出しコマンドを受信したものとする。すると、アプリケーションAは、カードOS41から自身のロジカルチャネル番号を取得する。続いて、アプリケーションAは、カードOS41からアクセス対象のファイルであるファイルA1に対する各ロジカルチャネルのアクセス状況を示す情報(各ロジカルチャネルのアクセス順番)を取得する。
ここで、図5に示す例では、チャネル「ch.1」が既にカレント設定済みで、アクセス順番が「ch.1」、「ch.2」である旨の情報を取得する。このような情報により、アプリケーションAは、アクセス順が先の「ch.1」に優先権があると判定する。ここで、「ch.2」のアプリケーションAは、ファイルA1に対する優先権は無いが、当該読出しコマンドの処理が、ファイルA1の状態を変更させない(つまり、「ch.1」での処理に影響を与えない)ものと判断し、当該読出しコマンドに応じたファイルA1の読出し処理を実行する。
上記のように、本実施の形態のICカードでは、オペレーティングシステムが、不揮発性メモリに記憶されている各ファイルに対してアクセス中のチャネルを示す情報をチャネル管理テーブルにより管理し、前記チャネル管理テーブルで管理されている情報を参照することにより受信したコマンドがアクセス対象とするファイルにアクセス中のロジカルチャネルを示す情報を当該コマンドを処理するアプリケーションに提供し、前記アプリケーションが前記オペレーティングシステムから提供された情報に基づいて前記コマンドに対する処理の実行の可否を判定するようにしたものである。
すなわち、この発明の一形態としての携帯可能電子装置は、外部装置から与えられるコマンドに対する処理を行うものであって、複数のチャネルで外部装置との通信を行う通信手段と、複数のファイルを記憶する記憶手段と、前記記憶手段に記憶している各ファイルに対してアクセス中のチャネルを示す情報を管理する管理手段と、前記管理手段に管理されている情報を参照することにより、前記通信手段により受信したコマンドがアクセス対象とするファイルにアクセス中のチャネルを示す情報を当該コマンドを処理するアプリケーションに提供する提供手段と、前記アプリケーションが前記提供手段により提供された情報と自身に割り当てられているチャネルとに基づいて前記コマンドの処理を実行するか否かを判定する判定手段と、前記アプリケーションが前記コマンドの処理を実行しないと判定した場合、前記コマンドに対する処理を中断する中断手段と、前記アプリケーションが前記コマンドの処理を実行すると判定した場合、前記コマンドに対する処理を実行する実行手段とを有する。
上記のような携帯可能電子装置としての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…チャネル管理テーブル。

Claims (5)

  1. オペレーティングシステムプログラムを記憶する第1の記憶手段と、
    アプリケーションプログラムを記憶する第2の記憶手段と、
    前記第2の記憶手段に記憶されているアプリケーションプログラムで用いられるデータを記憶している第3の記憶手段と、
    前記第1の記憶手段に記憶されているオペレーティングシステムプログラムおよび前記第2の記憶手段に記憶されているアプリケーションプログラムを実行する制御手段と、を有する携帯可能電子装置であって、
    前記オペレーティングシステムプログラムは、
    前記第3の記憶手段に記憶している各ファイルに対してアクセス中のチャネルを示す情報を管理する管理機能と、
    前記管理機能に管理されている情報を参照することにより、特定のファイルにアクセスしようとするアプリケーションに、前記ファイルにアクセス中のチャネルを示す情報を提供する提供機能とを有し、
    前記アプリケーションプログラムは、
    前記オペレーティングシステムから提供された情報と自身に割り当てられているチャネルとに基づいて前記ファイルへのアクセスの可否を判定する判定機能と、
    この判定機能により前記ファイルへのアクセスが不可であると判定した場合、前記ファイルへのアクセスを中断する中断機能と、
    前記判定機能により前記ファイルへのアクセスを許可すると判定した場合、前記ファイルへのアクセスを実行する実行機能と、を有する、
    ことを特徴とする携帯可能電子装置。
  2. 前記管理機能は、前記第2の記憶手段に記憶している各ファイルに対してアクセス中のチャネルとそれらのファイルの各ファイルへのアクセス順番とを示す情報を管理し、
    前記提供機能は、前記管理機能に管理されている情報を参照することにより、前記アクセス対象とするファイルにアクセス中のチャネルとそれらのチャネルごとのアクセス順番とを示す情報を前記コマンドを処理するアプリケーションに提供する、
    ことを特徴とする前記請求項1に記載の携帯可能電子装置。
  3. 前記判定機能は、前記アクセス対象とするファイルに対するアクセス順番の先頭が当該アプリケーションに割り当てられているチャネルであれば、前記ファイルに対するアクセスを許可と判定する、
    ことを特徴とする前記請求項1又は2に記載の携帯可能電子装置。
  4. 前記判定機能は、前記アクセス対象とするファイルの状態を変更する処理である場合、前記アクセス対象とするファイルに対して既にアクセス中の別のチャネルがあれば、前記ファイルへのアクセスを不可と判定する、
    ことを特徴とする前記請求項1乃至3の何れか1項に記載の携帯可能電子装置。
  5. 前記判定機能は、前記アクセス対象とするファイルの状態を変更させない処理である場合、前記アクセス対象とするファイルにアクセス中のチャネルの有無にかかわらず、前記ファイルへのアクセスを許可と判定する、
    ことを特徴とする前記請求項1乃至4の何れか1項に記載の携帯可能電子装置。
JP2007243257A 2007-09-20 2007-09-20 携帯可能電子装置 Expired - Fee Related JP4896842B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007243257A JP4896842B2 (ja) 2007-09-20 2007-09-20 携帯可能電子装置
SG200806667-2A SG151197A1 (en) 2007-09-20 2008-09-03 Portable electronic apparatus and control method for portable electronic apparatus
US12/205,235 US20090083273A1 (en) 2007-09-20 2008-09-05 Portable electronic apparatus and control method for portable electronic apparatus
FR0856176A FR2923630B1 (fr) 2007-09-20 2008-09-15 Dispositif electronique portable et procede de controle d'un dispositif electronique portable

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007243257A JP4896842B2 (ja) 2007-09-20 2007-09-20 携帯可能電子装置

Publications (2)

Publication Number Publication Date
JP2009075797A JP2009075797A (ja) 2009-04-09
JP4896842B2 true JP4896842B2 (ja) 2012-03-14

Family

ID=40610711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007243257A Expired - Fee Related JP4896842B2 (ja) 2007-09-20 2007-09-20 携帯可能電子装置

Country Status (1)

Country Link
JP (1) JP4896842B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5225054B2 (ja) * 2008-12-19 2013-07-03 株式会社東芝 Icカード
JP2010211516A (ja) * 2009-03-10 2010-09-24 Toshiba Corp 携帯可能電子装置および携帯可能電子装置におけるアクセス制御方法
JP5726659B2 (ja) * 2011-07-15 2015-06-03 株式会社東芝 Icカード、icカードの処理装置、及びicカードの処理システム
JP5971687B2 (ja) 2012-03-19 2016-08-17 株式会社東芝 Icカード、携帯可能電子装置及びicカードのコマンド処理方法
JP6398193B2 (ja) * 2014-01-06 2018-10-03 凸版印刷株式会社 可搬型電子媒体、及び入出力制御方法

Family Cites Families (2)

* 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カードにおける処理方法
JP5011738B2 (ja) * 2006-01-31 2012-08-29 大日本印刷株式会社 Icカード、プログラム

Also Published As

Publication number Publication date
JP2009075797A (ja) 2009-04-09

Similar Documents

Publication Publication Date Title
JP4896837B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
US9183400B2 (en) IC card and IC card control method
JP5225054B2 (ja) Icカード
JP4896842B2 (ja) 携帯可能電子装置
KR101783526B1 (ko) Ic 카드, 전자 장치 및 휴대 가능 전자 장치
KR100399603B1 (ko) 스마트 카드와 이의 os 프로그램 저장/삭제 및 실행방법
JP2007087120A (ja) 複数のosを実装したicカード、および、発行委任方法
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
KR101530479B1 (ko) Ic 카드 및 휴대 가능 전자 장치
JP5214291B2 (ja) Icカードおよびicカードの制御方法
JP4784138B2 (ja) Icカード、および、icカード用プログラム
JP2010211516A (ja) 携帯可能電子装置および携帯可能電子装置におけるアクセス制御方法
JP5957347B2 (ja) Icカード、および携帯可能電子装置
US20090083273A1 (en) Portable electronic apparatus and control method for portable electronic apparatus
JP7322923B2 (ja) セキュアエレメント,トランザクション制御方法およびデバイス
JP5341947B2 (ja) Icカード、icカードの制御方法、および携帯可能電子装置の制御方法
JP2012133656A (ja) 携帯可能電子装置及びicカード
JP2006172271A (ja) マルチアプリケーションicカード及びicカード用プログラム
JP4734838B2 (ja) 情報記録媒体とプログラム、及びコマンド実行制御方法
JP5492172B2 (ja) 携帯可能電子装置、icカードおよびicモジュール
JP2008047040A (ja) 携帯可能電子装置およびicカード
JP5242091B2 (ja) 携帯可能電子装置、icカード、および、携帯可能電子装置の制御方法
JP5038918B2 (ja) 携帯可能電子装置および携帯可能電子装置の制御方法
JP2023007750A (ja) 電子情報記憶媒体、アプリケーション選択処理方法、及びプログラム
JP2019168944A (ja) 電子情報記憶媒体、icカード、コマンド群実行方法及び、コマンド群実行プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111031

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

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

R151 Written notification of patent or utility model registration

Ref document number: 4896842

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees