JP2003076954A - 複数のosを用いるicカード、icカード処理装置および処理方法 - Google Patents
複数のosを用いるicカード、icカード処理装置および処理方法Info
- Publication number
- JP2003076954A JP2003076954A JP2001266292A JP2001266292A JP2003076954A JP 2003076954 A JP2003076954 A JP 2003076954A JP 2001266292 A JP2001266292 A JP 2001266292A JP 2001266292 A JP2001266292 A JP 2001266292A JP 2003076954 A JP2003076954 A JP 2003076954A
- Authority
- JP
- Japan
- Prior art keywords
- card
- command
- external device
- loader
- processing
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 21
- 230000006870 function Effects 0.000 claims abstract description 12
- 238000003672 processing method Methods 0.000 claims abstract description 5
- 238000012545 processing Methods 0.000 claims description 89
- 230000008449 language Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
それを用いるICカード処理装置、およびICカードの
処理方法を提供する。 【解決手段】ICカードのメモリには、外部装置との入
出力を制御するOS基本部と、OS基本部を参照しなが
ら、ICカード所定の機能を提供するアプリケーション
・プログラムを実行させ管理する複数のICカードOS
と、外部装置から入力されたコマンドを解読し、当該コ
マンドの実行可能なICカードOSを識別して起動する
OSローダとが記憶され、外部装置はICカードOSの
情報を含むコマンドをICカードへ送信し、当該ICカ
ードはOS基本部の制御の下でコマンドを受信し、OS
ローダは当該コマンドに含まれているICカードOSの
情報を解読し、ICカードOSを起動し、ICカードO
Sを介してコマンドを実行させる。
Description
たICカード、それを用いるICカード処理装置および
処理方法に関する。
Uとメモリを内蔵したICカードが実用されつつ、注目
を集めている。高度なセキュリティ機能と多機能化が可
能のため、種々の分野での使用が期待されている。
的に、CPU、メモリ、及び、暗号処理専用回路などが
含まれている。そのメモリは通常、読み出し専用メモリ
(ROM)、書き換え可能な不揮発性メモリ、たとえ
ば、EEPROM、或は、FRAM、及び、ランダム・
アクセス・メモリ(RAM)を含む。
機械語プログラムをROMに記憶してICカードに収容
する場合がほとんどであった。例えば、ROMには、I
Cカードのオペレーティング・システム(OS)、各種
OSレベルのプログラム、および、サービスを提供する
応用プログラムを格納し、EEPROMにユーザの個人
データを収容する。最近では、マルチアプリケーション
型カードOSと言われるインタプリタを常駐させた構成
のICカードが出現している。このようなインタプリタ
を搭載したICカードにおいては、プログラム言語で記
述されたプログラムを書き換え可能な不揮発性メモリに
記録することにより、カードにOSを搭載後、さらに、
カード発行後でも応用プログラムを追加することができ
る、また、不必要なプログラムを削除することもでき
る。代表的なマルチアプリケーションOSとしては、MU
LTOS、JavaCard、Windowsfor SmartCardがある。この種
のICカードにおいては、OSカーネルがROMに格納
され、各種OSレベルのプログラム、サービスを提供す
る応用プログラム、およびユーザの個人データなどが書
き換え可能な不揮発性メモリに収容する事が多い。OS
レベルのプログラムをROMに収容することもある。
蔵メモリの容量等の理由で、マルチアプリケーションO
Sは、1種類のプログラム言語に対応するインタプリタ
しか持っていない。従って、所定のマルチアプリケーシ
ョンOSを搭載したICカードは、そのOSに属するプ
ログラム言語で作成されたアプロケーションプログラム
しか使えない。例えば、MULTOSのICカードに搭載した
アプリケーションはMEL言語(MULTOS Executable Langu
age)で記述され、JavaCardではJava言語を使用し、ま
た、Windows for SmartCardではVirtual Basic言語で書
かれたアプリケーションしかサポートしない。
いるICカードおよびICカード処理装置の例示的な構
成を示すブロック図である。ICカード処理装置1は、
ICカード10、端末装置20、例えば、リード・ライ
ト装置、および、ホストコンピュータ30を有する。端
末装置20がICカード10を管理するホストコンピュ
ータ30の端末装置であり、ホストコンピュータ30か
らの指示に基づいて、ICカード10に対して、様々な
処理を行う。
PU11、インタフェース(I/F)12、暗号処理器
13、ランダム・アクセス・メモリ(RAM)14、読み
出し専用メモリ(ROM)15、および書き換え可能な
不揮発性メモリEEPROM16を有する。各構成成分
の機能は後述の本発明の実施の形態の記述において詳細
に説明する。
ドには、図2に示した構成のソフトウエアが搭載されて
いる。図2は、従来の1つのOSを収容したマルチアプ
リケーションOSのICカード(以降、シングルOSI
Cカードと称する)におけるソフトウエア構成の一例を
示す概略図である。
れるOSのカーネル部21である。OSカーネル部21
は、ICカードのハードウエア資源を管理し、上層のプ
ログラムからICカードのハードウエアをアクセスする
ためのインタフェースを提供する。また、OSカーネル
部21は上層のプログラムの動作を制御する。
には、OSレベルのソフトウエアである処理モジュール
が配置されている。処理モジュールは、OSカーネルの
多様な機能を上層の応用プログラムが便利に利用できる
ようにする。これら処理モジュールはEEPROM1
6、又は、ROM15に記録されている。ここでは、E
EPROM16に記録されていることを例にして説明す
る。
ば、プログラム言語を処理するインタプリタ、プログラ
ムの追加、または、更新するプログラムローダ、アプリ
ケーション・プログラミング・インタフェース、暗号処理
ライブラリなどがある。説明の便宜上、ここでは、イン
タプリタ以外の様々な処理モジュールをモジュール23
とする。OSカーネル21、インタプリタ22、および
他の各種OSレベルの処理モジュール23を合わせて、
ICカードのOSとなる。処理モジュール23の上層に
は具体的なサービスを提供する様々なアプリケーション
プログラムが配置されている。ここでは、アプリケーシ
ョン1とアプリケーション2が配置されているとする。
有するICカードにおいて、外部から受信したコマンド
を処理する手順を示すフローチャートである。ここで
は、ICカードにあるアプリケーション1を実行するコ
マンド、及びアプリケーションをICカードにダウンロ
ードするコマンドの処理を例として説明する。ホスト・
コンピュ−タ30よりコマンドが送信され、I/F12
がそれを受信すると、該コマンドはOSにより解釈さ
れ、その内容が確認される(ステップ31)。
るアプリケーション1を実行するコマンドである場合
は、コマンドに含まれているアプリケーション1のアド
レス情報を用いて、ファイルマネージャ処理モジュール
によって、ICカードのEEPROM16内にアプリケ
ーション1を検索する(ステップ32)。見つけた場合
は、アプリケーション1が実行される(ステップ3
3)、即ち、アプリケーション1がRAM14に読みこ
まれて、または、EEPROM16において直接に参照
されて、CPU11においてアプリケーション1に記述
された手続きを逐次実行する。
ョン2をダウンロードするコマンドである場合は、OS
のプログラムローダ処理モジュールは動作され、ロード
コマンドに続いて送信される該アプリケーション2の構
成成分を認証処理しながらEEPROM16の指定され
た領域に書き込む(ステップ34)。
載されているOSに属するコマンドではない場合は、そ
のコマンドの処理が拒否される(ステップ35)。
枚ICカードに1つのOSしか搭載していない場合は、
ICカードの用途が制限されて、カード所有者は該IC
カードのOSに対応するプログラム言語で記述されたア
プリケーションしか使えない。該OSサポートしないプ
ログラム言語で作成されたアプリケーションを利用した
い場合は、それらのアプリケ−ションが動作可能なOS
を搭載したICカードを複数保持し、必要に応じて使い
分ける必要がある。例えば、MULTOSのICカードに搭載
可能なアプリケーションはJavaCardやWindows for Smar
tCardを搭載したICカードで利用できないので、3種
類のカードを持つことになる。さらに、新しいアプリケ
ーションを利用したい場合は、ICカードOSの制御
で、ICカードに該アプリケーションをロードする必要
があるので、アプリケーションがどの言語で記述されて
いるかを知らないと、そのアプリケーションのロード操
作はできず、カード所有者はその異なる言語のアプリケ
ーションを自分所有のICカードに搭載することができ
ない。ICカードは迅速に普及され、種々の目的に使用
されて、異なる言語で書かれたアプリケーションが大量
に出現することが予想される。従って、シングルOSの
ICカードは利便性を追求する上で問題になる。
れば、異なるプログラム言語のインタプリタを1枚のI
Cカードに収納し、異なるプログラム言語で作成された
多くのアプリケーションを1枚のカードで利用すること
が可能になる。複数のOSを一枚のカードに搭載するに
は、まずは大容量メモリが必要である。現在ICカード
に良く使われるROMの容量は32〜64kバイト程度
であり、EEPROMは、16kバイト程度、または、
32kバイト程度が主流である。一方、OSのカーネル
のサイズは約数kバイト〜20kバイト程度であり、典
型的なアプリケーションのサイズも数kバイト程度であ
る。従って、現時点では、1枚のICカードに複数のO
Sおよび複数のアプリケーションを同時に搭載すること
はメモリ容量の制限で厳しい。だが、ICカード内蔵メ
モリの大容量化が進化しつつ、近い将来にICカードメ
モリの容量はより大きくなり、より大きなサイズのソフ
トウエアをICカードに格納できると予想される。たと
えば、64kバイトのEEPROMは間もなく実用化さ
れる可能性がある。従って、複数のOSを一枚のカード
に搭載するには、メモリ容量の制限は問題にならない可
能性がある。
搭載する場合は、プログラミング技術上は難しさがあ
る。例えば、図3のシングルOSのICカードのソフト
ウエアを基づいて、複数のOSのソフトウエアをどのよ
うな構造でICカードのROM15とEEPROM16
に配置し、動作させるのか。また、ICカードは、例え
ば、コマンドを受信した後、どのように複数のOSから
利用すべきOSを識別し、円滑にOSを切り替えるの
か、また、どのようにアプリケーションの属するOSを
気にせずに、カード所有者の指示だけに従い、希望のア
プリケーションプログラムをロード、追加、または、実
行等の処理を行うのか、などの問題がある。
れたものであり、本発明の目的は、複数のICカードO
Sを搭載したICカード、その複数のOSを搭載したI
Cカードを用いるICカード処理装置および処理方法を
提供することにある。
に、本発明に係わるICカードは、CPUと、メモリ
と、外部装置と入出力を行うインタフェースとを有する
ICカードであって、該メモリには、少なくとも、該外
部装置との入出力を制御するオペレーティング・システ
ムの基本部(OS基本部)と、前記OS基本部を参照し
ながら、ICカードの所定の機能を提供するアプリケー
ション・プログラムを実行させ管理する複数のICカー
ドOSと、前記インタフェースを介して外部装置から入
力されたコマンドを解読し、当該コマンドの実行可能な
ICカードOSを識別して起動するOSローダとが記憶
され、前記OS基本部の制御の下で前記インタフェース
を介して外部装置からのコマンドを受信し、前記OSロ
ーダは当該コマンドを解読し、当該コマンドの実行可能
なICカードOSを識別して起動し、当該ICカードO
Sによって当該コマンドを実行させる。
されたコマンドには、当該コマンドの実行可能なICカ
ードOSの情報が含まれている。
に係わるICカード処理装置は、前記ICカードはCP
Uと、メモリと、外部装置と入出力を行うインタフェー
スとを有し、前記メモリには、少なくとも、前記外部装
置との入出力を制御するオペレーティング・システムの
基本部(OS基本部)と、前記OS基本部を参照しなが
ら、ICカード所定の機能を提供するアプリケーション
・プログラムを実行させ管理する複数のICカードOS
と、前記インタフェースを介して外部装置から入力され
たコマンドを解読し、当該コマンドの実行可能なICカ
ードOSを識別して起動するOSローダとが記憶され、
前記外部装置は属するICカードOSの情報を含むコマ
ンドを前記ICカードへ送信し、当該ICカードは前記
OS基本部の制御の下で前記インタフェースを介して当
該コマンドを受信し、前記OSローダは当該コマンドに
含まれているICカードOSの情報を解読し、該ICカ
ードOSを起動し、該ICカードOSを介して当該コマ
ンドを実行させる。
に係わるICカード処理方法は、CPUと、メモリと、
外部装置と入出力を行うインタフェースとを有し、OS
基本部と複数のICカードOSとOSローダとを搭載し
たICカードの処理方法であって、前記外部装置は属す
るICカードOSの情報を含むコマンドを前記ICカー
ドへ送信し、前記ICカードは前記OS基本部の制御の
下で前記インタフェースを介して当該コマンドを受信
し、前記OSローダは当該コマンドに含まれているIC
カードOSの情報を解読し、該ICカードOSを識別し
て起動し、該ICカードOSによって当該コマンドを実
行させる。
本部の制御でOSローダが外部装置からICカードへ送
られたコマンドを受信し、該コマンドに含まれるOS情
報を解読し、利用すべきICカードOSを識別してか
ら、そのOSに切り替え、該利用すべきカードOSによ
って、アプリケーションのロードや実行などの処理を行
うことが可能になる。カード所有者は、複数のカードO
Sの存在やアプリケーションが何のプログラム言語で記
述されたかを意識する必要がなく、便利且つ円滑にカー
ドOSを選択し、アプリケーションをロードまたは実行
することができる。
付の図面を参照して説明する。ICカードおよびICカード処理装置 本実施形態に係わるICカードおよびICカード処理装
置は前述した図1に示されたICカード10およびIC
カード処理装置1と同じ構成を有し、以下、引き続き図
1を参照して本実施形態を説明する。
1は、ICカード10、端末装置20、例えば、リード
・ライト装置、および、ホストコンピュータ30を有す
る。端末装置20がICカード10を管理するホストコ
ンピュータ30からの指示に基づいて、ICカード10
に対して、様々な処理を行う。本実施形態には、ICカ
ード10は、ICカード発行会社から発行され、管理さ
れて、複数のOSとそれぞれのOSレベルのソフトウエ
アを搭載済み、ICカード所有者が携帯している複数の
OSを用いるICカードである。また、ICカードの例
として、接触型ICカードについて述べる。ICカード
10は、図1に示すように、例えば、CPU11、イン
タフェース(I/F)12、暗号処理器13、ランダム
・アクセス・メモリ(RAM)14、読み出し専用メモリ
(ROM)15、および書き換え可能な不揮発性メモリ
EEPROM16を有する。
ド、あるいは、予めICカードに設定されたコマンドに
基づいて、EEPROM16に記憶されているアプリケ
ーションに従って、I/F12を介して端末装置20と
適宜通信を行いながら、所望の処理を行う、たとえば、
所有者とICカードの認証、代金の決済、ICカードの
診断などの処理を行う。CPU11において処理を行う
際に一時的に発生するデータをRAM14に記憶する。
末装置20に装着された場合に、電力とクロックの供給
を受けるとともに、端末装置20と信号の送受信を行
う。すなわち、I/F12は、端末装置20から受信し
た信号をCPU11に出力し、また、CPU11から入
力された信号を端末装置20に送信する。
ある。暗号処理器13は乱数の生成や、RSAなどの暗
号の演算を行う。
ROM16がICカード10のメモリシステムを構成す
る。それぞれの機能は次に述べるICカードのソフトウ
エアの構成で説明する。
Sを有するICカードには、図4に示されたソフトウエ
ア構成が配置されている。図4は、本発明に係わる複数
OSを収容したマルチアプリケーションOSのICカー
ド(以降、マルチOSICカードと称する)におけるソ
フトウエア構成の一例を示す概念図である。
に、マルチOSのICカードにおけるソフトウエア階層
構造の中核には、ROM15に記憶されているOSのカ
ーネル部41がある。OSカーネル部41は、ICカー
ド10のハードウエアに対応して設計され、そのハード
ウエア資源を管理する。OSカーネル部41はICカー
ド10のインタフェース(I/F)12を制御し、外部
装置とのデータの入出力を行う。また、OSカーネル部
41は、上層のプログラムからICカードのハードウエ
アをアクセスするためのインタフェースを提供する。以
上の機能に基づいて、OSカネール41は上層の各プロ
グラムの動作を制御する。ROM15に記憶されるOS
のカーネル部41はICカード製造会社がICカード発
行前に搭載したもので、書き換えることはできない。
うに、OSカーネル部41の上層には、OSローダ42
がEEPROM16に配置されている。OSローダ42
はOSカネール41の制御の下で、I/F12を介して
外部装置から受信したコマンドの内容を解読し、コマン
ドやコマンドに付加されているアプリケーションの利用
すべきOSを識別して選択する。
搭載した複数のOSの処理モジュール部分である。この
部分もEEPROM16に記録されている。OSカーネ
ル41と各OSの複数の処理モジュールから各ICカー
ドOSが構成される。各OSの処理モジュールは、OS
カーネルの機能を上層の応用プログラムが便利に利用で
きるように設けられている。処理速度、容量、また、セ
キュリティの関係で、これらOSレベルのソフトウエア
は機械語で記述することが望まれる。このような処理モ
ジュールとして、例えば、プログラム言語を処理するイ
ンタプリタや、コマンドを処理するコマンドインタプリ
タ、プログラムを外から追加又は更新するプログラムロ
ーダ、アプリケーション・プログラミング・インタフェー
ス、暗号処理ライブラリなどがある。説明の便宜上、こ
こでは、インタプリタ以外の様々な処理モジュールを1
つのモジュールで表す。また、本発明の実施形態の例と
して、2つのOS(OSaとOSbと記する)を搭載す
る場合を例として説明する。2つのOSはそれぞれイン
タプリタa43と処理モジュールa44,インタプリタ
b45と処理モジュールb46を有する。
から属するOS認識し、対応するインタプリタなどのO
Sレベルのソフトウエアを起動させ、コマンドとアプリ
ケーションの処理を行う。OSローダ42と各OSの処
理モジュール43、44、45、46を書き換え可能な
EEPROM16に配置することによって、OSの追加
や削除も可能になり、その場合、OSローダ42の内容
を適切に修正して、新しく追加されたOSの識別と選択
も容易に実現できる。
スを提供するアプリケーションプログラムが配置されて
いる。図4に示すように、OSaに属するアプリケーシ
ョン1(47)とアプリケーション2(48)、OSb
に属するアプリケーション3(49)とアプリケーショ
ン4(50)が配置されている。
れた応用プログラムを実行するには、インタプリタが必
要である。インタプリタは応用プログラムのソースコー
ドを、逐次、実行形式のコードに変換する。必要に応じ
て、必要な処理モジュールを呼出し、ICカードのシス
テムデータを利用し、ICカードのハードウエアをアク
セスしながら、ICカードの所定の機能を実現する。な
お、ICチップのCPUの機械語で動作し、プログラム
言語のアプリケーションではないものもある、その場合
は、インタプリタを動作させる必要がない。
用プログラムは様々あり、そのような応用プログラム
は、通常カード発行前にICカードに搭載する。マルチ
アプリケーションOSを用いるICカードにおいては、
ICカード発行後であっても、プログラムの追加、およ
び、更新することが可能である。
を参照して説明する。OSローダ42はOSカーネルレ
ベルで実行可能なプログラムである。例えば、図5に示
されたように、EEPROM16の先頭に配置する。図
5は本発明の実施形態に係わる複数のOSを用いるIC
カードのOSローダのEEPROM16における配置の
一例を示す図である。図5においては、EEPROM1
6の容量は64kバイトであり、左側のアドレスはブロ
ック(1ブロック=16バイト)を単位として、16進
数で表示されている。OSローダ42のサイズは1kバ
イト以下、OSaの全ての処理モジュールはOSaシス
テムソフトウエアと称し、OSbの全ての処理モジュー
ルはOSbシステムソフトウエアと称し、それぞれのサ
イズは2kバイト以下とする。
が含まれている。図6は本発明の実施形態に係わる複数
のOSを用いるICカードのOSローダの内容の一例を
示す図である。OSローダ42はI/F12から受け取
ったコマンドを解読するプログラムであるコマンド解読
部を有する。該コマンド解読部61は、受け取ったコマ
ンドを解釈し、コマンドに付属されているICカードO
S情報を識別する。また、ICカードに搭載されている
各OSの情報が定数としてOSローダ42登録されてい
る。本実施形態には、例えば、第1番目のOSはOS
a、記録された場所はEEPROM、アドレスは004
1Hである、というように登録されている。同様に、第
2番目のOSはOSb、記録された場所はEEPRO
M、アドレスは00C1Hであると登録されている。
含まれているOSの情報に基づいて、該コマンドの属す
るOSを識別して、選択する。図7は本発明に係わる複
数のOSを用いるICカードが受信したコマンドのフォ
ーマットを示す図である。このコマンドの先頭に制御コ
ードを含むコマンドヘッダ有し、該コマンドヘッダに
は、コマンドが実行可能なOSを識別するデータである
ICカードOS識別子と、該コマンドの操作内容を示す
コマンドの種別コードとがある。該種別コードにより、
たとえば、アプリケーションのロード、実行などの操作
を行うことを判明できる。コマンドの本体には、該コマ
ンドが操作するアプリケーションやデータのアドレスが
あり、必要な場合は、該コマンドが操作する対象となる
データも付加されている。OSローダ42は、OSカー
ネル41の制御の下で、I/F12から受信したコマン
ドを受け取って、コマンドヘッダにあるOS識別子か
ら、該コマンドの属するOSを識別して起動する。起動
されたOSはコマンドインタプリタによりコマンドの種
別を得て、指定されたアドレスにデータを書き込み、或
は、指定されたアドレスにあるアプリケーションを実行
する等の処理を行う。以上が、ICカード処理装置1に
おけるICカード10のハードウエア及びソフトウエア
の構成の説明である。
ウエア構成のICカード10は、端末装置20に装着さ
れると、I/F12を介して端末装置20より電源とク
ロック信号の供給を受けて起動される。そして、端末装
置20を介して、ホストコンピュータ30からのコマン
ドに基づいて、ICカード10が処理を行う。端末装置
20は、例えば、通常店舗などで使用されている端末装
置であり、ICカード製造会社、または、サービスを提
供する会社のホストコンピュータ30に通信回線を介し
て接続されており、ホストコンピュータ30と装着され
たICカード10との間の通信データを転送する。
起動されて、そして、ICカード自身の認証処理、即
ち、ICカード10がICカード処理装置1で処理でき
るICカードか否かの処理を行う。後は、所有者が正当
な所有者か否かがチェックされる。ICカード10が認
定された場合には、端末装置20を介して、ICカード
10はホストコンピュータ30と通信できる。ホストコ
ンピュータ30とICカード10とは通信を順次に行い
ながら、ホストコンピュータ30より送信されたICカ
ード10に対する指示を実行する。
アとソフトウエア構成を有するマルチOSのICカード
10を処理する工程について、図8を参照して説明す
る。図8は、本発明の実施形態に係わる複数のOSを用
いるICカード10はOSローダにより利用すべきIC
カードOSを識別、選択して、起動する工程を示すフロ
ーチャートである。ICカード10が端末装置20に装
着されると、ICカード10が起動される(ステップS
81)。即ち、OSカーネル41はRAM14に読み込
まれて(または、ROM15において直接に参照され
て)、端末装置20を介してホストコンピュータ30と
のデータの入出力、ICカード10の認証処理、暗号処
理などの動作を制御する。OSローダ42もRAM14
に読み込まれて、ICカード10が端末装置20に装着
される間に、RAM14に常駐させる。端末装置20を
介してホストコンピュータ30からのコマンドをICカ
ード10が受信するたびに、OSローダ42はそのコマ
ンドの利用すべきOSの識別処理を行う。
ード10と端末装置20の間で認証処理が行われる(ス
テップS82)。例えば、ICカード所有者はパスワー
ドを入力して、正当な所有者であり、かつ、ICカード
は当該処理装置1で処理できるICカードであることが
判明されたら、ホストコンピュータ30は所有者が希望
する処理の指定を待つ。
20から入力し、ホストコンピュータ30が提供するサ
ービスに対する操作を行うと指定すると(例えば、ダウ
ンロード、実行など)、ホストコンピュータ30がその
操作をするコマンドをICカードに送信し、端末装置2
0を介してICカード10が該コマンドを受信する(ス
テップS83)。
と、OSカーネル41はOSローダ42を呼出し、OS
ローダ42により、コマンドの解釈を行い(ステップS
84)、即ち、コマンドヘッダにあるOS識別子を読み
取って、コマンドの属するOSを識別する。
Cカード10に搭載したOSのリストから、OS識別子
に対応するOSを検索し、そのOSの記憶場所、詳細な
アドレスを特定する(ステップS85)。
必要なシステムソフトウエアをRAM14に読み込んで
(または、EEPROM16において直接に実行し)、
当該OSのインタプリタなどの処理モジュールを動作さ
せる(ステップS86)。
行し、以降の処理は当該OSの制御で行う(ステップS
87)。当該OSはコマンドインタプリタによりコマン
ドを解読し続き、コマンドの種別コードからコマンドの
種別を判別し、コマンドの操作を行うアドレスを得て、
必要な場合、書き込みデータも得る。ICカードOSに
よるコマンドの処理の具体的な例は図9と図10におい
て説明する。該ICカードOSによるコマンドの処理を
終了した後、当該OSのソフトウエアがRAM14から
退去させ、制御はOSカーネル41に戻り、次のコマン
ドの受信を待つ(ステップS88)。以上が、ICカー
ド処理装置1において、OSローダ42によるマルチO
SのICカード10のOSを識別、選択、および起動す
る工程の説明である。
カードにおいてロードや実行コマンドの処理の流れと比
べるために、以上に説明したマルチOSのICカード1
0が同じコマンドに対する処理は、図9と図10に示さ
れた。図9は、本発明に係わるマルチOSのICカード
を用いて、アプリケーションをロードするコマンドを受
信した場合、ICカードの処理のフローチャートであ
る。
ュ−タ30よりコマンドが送信されると、OSローダ4
2によって該コマンドが解釈され、コマンドヘッドにあ
るOS識別子から、該コマンドの利用すべきOSを識別
する(ステップ91)。
システムソフトウエアをRAM14に読み込んで(また
は、EEPROM16において直接に実行し)、以降
は、OSaの制御の下で該コマンドの処理を行う(ステ
ップ92)。
マンドを解読し、コマンドの種別コードからコマンドの
種別を判別する(ステップ93)。そのコマンドはIC
カード10にアプリケーション1をダウンロードするコ
マンドであることを確認したら、OSaのプログラムロ
ーダは動作され、ロードコマンドに続いて送信されるア
プリケーション1の構成成分を認証処理しながらEEP
ROM16の指定された領域に書き込む(ステップ9
4)。
システムソフトウエアをRAM14に読み込んで(また
は、EEPROM16において直接に実行し)、以降
は、OSbの制御の下で該コマンドの処理を行う(ステ
ップ95)。
マンドを解読し、コマンドの種別コードからコマンドの
種別を判別する(ステップ96)。そのコマンドはIC
カード10にアプリケーション3をダウンロードするコ
マンドであることを確認したら、OSbのプログラムロ
ーダは動作され、ロードコマンドに続いて送信されるア
プリケーション3の構成成分を認証処理しながらEEP
ROM16の指定された領域に書き込む(ステップ9
7)。アプリケーションプログラムを書き込んだ後、O
Sa、または、OSbがRAM14から退去され、OS
a、または、OSbの処理が終了する。
Cカードを用いて、アプリケーションを実行するコマン
ドを受信した場合、ICカードの処理のフローチャート
である。
ュ−タ30よりコマンドが送信されると、OSローダ4
2によって該コマンドを解釈され、コマンドのヘッドに
あるOS識別子から、該コマンドの利用すべきOSを識
別する(ステップ101)。
システムソフトウエアをRAM14に読み込んで(また
は、EEPROM16において直接に実行し)、以降
は、OSaの制御の下で該コマンドの処理を行う(ステ
ップ102)。
ンドを解読し、コマンドの種別コードからコマンドの種
別を判別する(ステップ103)。そのコマンドはIC
カード10に存在するアプリケーション2を実行するコ
マンドであることを確認したら、コマンド内容からアプ
リケーション2が記録されるアドレスを得る。続いて、
OSaのファイルマネージャによって、ICカード10
のEEPROM16内にアプリケーション2を検索する
(ステップ104)。発見したら、アプリケーション2
を実行する(ステップ105)。即ち、アプリケーショ
ン2をRAM14に読み込んで(または、EEPROM
16において直接に実行し)、CPU11においてアプ
リケーション2に記述された手続きを逐次実行する。
システムソフトウエアをRAM14に読み込んで(また
は、EEPROM16において直接に実行し)、以降
は、OSbの制御の下で該コマンドの処理を行う(ステ
ップ106)。
ンドを解読し、コマンドの種別コードからコマンドの種
別を判別する(ステップ107)。そのコマンドはすで
にICカード10に存在するアプリケーション4を実行
するコマンドであることを確認したら、コマンド内容か
らアプリケーション4が記録されるアドレスを得る。続
いて、OSbのファイルマネージャによって、ICカー
ド10のEEPROM16内にアプリケーション4を検
索する(ステップ108)。発見したら、アプリケーシ
ョン4を実行する(ステップ109)。即ち、アプリケ
ーション4をRAM14に読み込んで(または、EEP
ROM16において直接に実行し)、CPU11におい
てアプリケーション4に記述された手続きを逐次実行す
る。
ョン4を実行した後、OSa、または、OSbがRAM
14から退去され、OSa、または、OSbの処理が終
了する。
れるものではなく、種々の改変が可能である。前述した
実施の形態において、図4に示されたように、OSロー
ダ42と各OSの処理モジュール43、44、45、4
6がEEPROM16に記憶されているが、これらのプ
ログラム、または、その中の一部をROMに記憶しても
いい。その場合、ICカードに搭載するOSとOSロー
ダ42の内容を事前に決め、ICカード発行前にROM
に搭載して、発行後は搭載するOSの修正はできない。
以上の方法では、例示として2つのOSを搭載した場合
について述べたが、本発明において、2つ以上のOSを
搭載することができるのは明らかである。
ICカードを例示して本発明を説明した。しかし、イン
タフェース(I/F)12としては端子が設けられてお
らず、コイルを用いて電磁的に外部装置と接続されるよ
うな構成の非接触型のICカードであってもよい。
数のOSを搭載することができ、ICカードの用途を大
幅に広げ、ICカード使用上の便利性が優れている。ま
た、OSローダを設けることにより、コマンドを受信し
た度に、コマンドの属するOSの識別と選択が行われ、
コマンドの属するOSの制御でアプリケーションの処理
を行うことから、ICカードの所有者はカードに搭載さ
れたOSの範囲内では利用すべきOSを意識する必要が
なくICカードを使用することができ、あたかも1つの
OSの上で、複数の言語を処理可能なマルチアプリケー
ションICカードとなる、汎用性及び便利性に優れてい
る。また、OSローダやOSの処理モジュールを書き換
え可能なEEPROMに記録し、OSローダを修正可能
となっていることから、新しいOSの追加も可能とな
り、さらに、不必要なOSを削除も可能であり、ICカ
ードの使用上の柔軟性に優れている。
すブロック図である。
念図である。
のICカードを用いて、コマンドを処理する工程を示す
フローチャートである。
ソフトウエア構成を示す概念図である。
OSローダと各OSのシステムソフトウエアがEEPR
OMにおける配置を示す図である。
OSローダの概略な内容を示す図である。
受信したコマンドのフォーマットを示す概略図である。
OSローダによりICカードOSの識別、選択、および
起動の工程を示すフローチャートである。
おいて、アプリケーションプログラムをICカードにロ
ードする工程を示すフローチャートである。
において、すでにICカードに存在するアプリケーショ
ンを実行する工程を示すフローチャートである。
Claims (4)
- 【請求項1】CPUと、メモリと、外部装置と入出力を
行うインタフェースとを有するICカードであって、 該メモリには、少なくとも、該外部装置との入出力を制
御するオペレーティング・システムの基本部(OS基本
部)と、前記OS基本部を参照しながら、ICカードの
所定の機能を提供するアプリケーション・プログラムを
実行させ管理する複数のICカードOSと、前記インタ
フェースを介して外部装置から入力されたコマンドを解
読し、当該コマンドの実行可能なICカードOSを識別
して起動するOSローダとが記憶され、 前記OS基本部の制御の下で前記インタフェースを介し
て外部装置からのコマンドを受信し、前記OSローダは
当該コマンドを解読し、当該コマンドの実行可能なIC
カードOSを識別して起動し、当該ICカードOSによ
って当該コマンドを実行させるICカード。 - 【請求項2】前記外部装置から入力されたコマンドに
は、当該コマンドの実行可能なICカードOSの情報が
含まれている請求項1記載のICカード。 - 【請求項3】ICカードの処理を行う外部装置と、該外
部装置とデータの入出力を行うICカードとを有するI
Cカード処理装置であって、 前記ICカードはCPUと、メモリと、外部装置と入出
力を行うインタフェースとを有し、 前記メモリには、少なくとも、前記外部装置との入出力
を制御するオペレーティング・システムの基本部(OS
基本部)と、前記OS基本部を参照しながら、ICカー
ド所定の機能を提供するアプリケーション・プログラム
を実行させ管理する複数のICカードOSと、前記イン
タフェースを介して外部装置から入力されたコマンドを
解読し、当該コマンドの実行可能なICカードOSを識
別して起動するOSローダとが記憶され、 前記外部装置は属するICカードOSの情報を含むコマ
ンドを前記ICカードへ送信し、当該ICカードは前記
OS基本部の制御の下で前記インタフェースを介して当
該コマンドを受信し、前記OSローダは当該コマンドに
含まれているICカードOSの情報を解読し、該ICカ
ードOSを起動し、該ICカードOSを介して当該コマ
ンドを実行させるICカード処理装置。 - 【請求項4】CPUと、メモリと、外部装置と入出力を
行うインタフェースとを有し、OS基本部と複数のIC
カードOSとOSローダとを搭載したICカードの処理
方法であって、 前記外部装置は属するICカードOSの情報を含むコマ
ンドを前記ICカードへ送信し、 前記ICカードは前記OS基本部の制御の下で前記イン
タフェースを介して当該コマンドを受信し、前記OSロ
ーダは当該コマンドに含まれているICカードOSの情
報を解読し、該ICカードOSを識別して起動し、該I
CカードOSによって当該コマンドを実行させるICカ
ード処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001266292A JP4742469B2 (ja) | 2001-09-03 | 2001-09-03 | 複数のosを用いるicカード、icカード処理装置および処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001266292A JP4742469B2 (ja) | 2001-09-03 | 2001-09-03 | 複数のosを用いるicカード、icカード処理装置および処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003076954A true JP2003076954A (ja) | 2003-03-14 |
JP4742469B2 JP4742469B2 (ja) | 2011-08-10 |
Family
ID=19092619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001266292A Expired - Fee Related JP4742469B2 (ja) | 2001-09-03 | 2001-09-03 | 複数のosを用いるicカード、icカード処理装置および処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4742469B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004282404A (ja) * | 2003-03-14 | 2004-10-07 | Canon Inc | デジタル署名生成装置、方法、コンピュータプログラム、およびコンピュータ読み取り可能な記憶媒体 |
WO2005114561A1 (ja) * | 2004-05-24 | 2005-12-01 | Matsushita Electric Industrial Co., Ltd. | リーダ・ライタのセキュアモジュールへのアクセス制御方法 |
US7011252B2 (en) | 2003-04-14 | 2006-03-14 | Matsushita Electric Industrial Co., Ltd. | IC card and OS activation method for the same |
JP2009086930A (ja) * | 2007-09-28 | 2009-04-23 | Toppan Printing Co Ltd | オペレーティングシステム起動制御装置、オペレーティングシステム起動制御方法、記録媒体、及び組み込み機器 |
JP2009536380A (ja) * | 2006-05-08 | 2009-10-08 | ギーゼッケ ウント デフリエント ゲーエムベーハー | 携帯データキャリアの個人化 |
JP2010198306A (ja) * | 2009-02-25 | 2010-09-09 | Sony Corp | 情報処理装置および方法、並びにプログラム |
CN102707992A (zh) * | 2011-03-08 | 2012-10-03 | 索尼公司 | 信息处理设备,信息处理方法和程序 |
JP2013168117A (ja) * | 2012-01-17 | 2013-08-29 | Sony Corp | 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム |
EP2339551A3 (en) * | 2009-12-07 | 2014-04-02 | Sony Corporation | Information processing device, information processing method and program |
JP2016139433A (ja) * | 2012-01-17 | 2016-08-04 | ソニー株式会社 | 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム |
-
2001
- 2001-09-03 JP JP2001266292A patent/JP4742469B2/ja not_active Expired - Fee Related
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4717329B2 (ja) * | 2003-03-14 | 2011-07-06 | キヤノン株式会社 | デジタル署名生成装置 |
JP2004282404A (ja) * | 2003-03-14 | 2004-10-07 | Canon Inc | デジタル署名生成装置、方法、コンピュータプログラム、およびコンピュータ読み取り可能な記憶媒体 |
US7011252B2 (en) | 2003-04-14 | 2006-03-14 | Matsushita Electric Industrial Co., Ltd. | IC card and OS activation method for the same |
WO2005114561A1 (ja) * | 2004-05-24 | 2005-12-01 | Matsushita Electric Industrial Co., Ltd. | リーダ・ライタのセキュアモジュールへのアクセス制御方法 |
JPWO2005114561A1 (ja) * | 2004-05-24 | 2008-03-27 | 松下電器産業株式会社 | リーダ・ライタのセキュアモジュールへのアクセス制御方法 |
US7559468B2 (en) | 2004-05-24 | 2009-07-14 | Panasonic Corporation | Reader/writer secure module access control method |
JP4653087B2 (ja) * | 2004-05-24 | 2011-03-16 | パナソニック株式会社 | プログラム及びセキュアモジュールホルダー |
JP2009536380A (ja) * | 2006-05-08 | 2009-10-08 | ギーゼッケ ウント デフリエント ゲーエムベーハー | 携帯データキャリアの個人化 |
JP2009086930A (ja) * | 2007-09-28 | 2009-04-23 | Toppan Printing Co Ltd | オペレーティングシステム起動制御装置、オペレーティングシステム起動制御方法、記録媒体、及び組み込み機器 |
US9817704B2 (en) | 2009-02-25 | 2017-11-14 | Sony Corporation | Information processing apparatus, method, and program |
US9396045B2 (en) | 2009-02-25 | 2016-07-19 | Sony Corporation | Information processing apparatus, method, and program |
EP2224335B1 (en) * | 2009-02-25 | 2012-12-05 | Sony Corporation | Information processing apparatus, method, and program |
US10733031B2 (en) | 2009-02-25 | 2020-08-04 | Sony Corporation | Information processing apparatus, method, and program |
US8544030B2 (en) | 2009-02-25 | 2013-09-24 | Sony Corporation | Information processing apparatus, method, and program |
JP2010198306A (ja) * | 2009-02-25 | 2010-09-09 | Sony Corp | 情報処理装置および方法、並びにプログラム |
US9208633B2 (en) | 2009-12-07 | 2015-12-08 | Sony Corporation | Information processing device, information processing method and program |
EP2339551A3 (en) * | 2009-12-07 | 2014-04-02 | Sony Corporation | Information processing device, information processing method and program |
US10268494B2 (en) | 2009-12-07 | 2019-04-23 | Sony Corporation | Information processing device, information processing method and program |
US10990422B2 (en) | 2009-12-07 | 2021-04-27 | Sony Corporation | Information processing device, information processing method and program |
CN102707992A (zh) * | 2011-03-08 | 2012-10-03 | 索尼公司 | 信息处理设备,信息处理方法和程序 |
JP2016139433A (ja) * | 2012-01-17 | 2016-08-04 | ソニー株式会社 | 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム |
US9946558B2 (en) | 2012-01-17 | 2018-04-17 | Sony Corporation | Apparatus, method and system for activating an operating system based on a unified command |
US10599448B2 (en) | 2012-01-17 | 2020-03-24 | Sony Corporation | Information processing apparatus, IC chip, information processing method, and information processing system |
JP2013168117A (ja) * | 2012-01-17 | 2013-08-29 | Sony Corp | 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム |
US11119791B2 (en) | 2012-01-17 | 2021-09-14 | Sony Corporation | Information processing apparatus, IC chip, information processing method, program, and information processing system |
Also Published As
Publication number | Publication date |
---|---|
JP4742469B2 (ja) | 2011-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6220510B1 (en) | Multi-application IC card with delegation feature | |
US7165727B2 (en) | Method and apparatus for installing an application onto a smart card | |
US7140549B2 (en) | Method and apparatus for selecting a desired application on a smart card | |
US6390374B1 (en) | System and method for installing/de-installing an application on a smart card | |
US6457099B1 (en) | Programmable dedicated application card | |
US20050188360A1 (en) | Method and apparatus for providing an application on a smart card | |
EP1770533A1 (en) | Information management device and information management method | |
WO1998052153A2 (en) | Ic card with shell feature | |
JP2003076954A (ja) | 複数のosを用いるicカード、icカード処理装置および処理方法 | |
CN113064638B (zh) | 嵌入式系统 | |
CN113127074B (zh) | 嵌入式系统 | |
WO2002005095A1 (fr) | Carte a circuit integre | |
JPH07191835A (ja) | コンピュータシステム | |
US6866192B2 (en) | IC card terminal | |
JPH1145206A (ja) | 電子装置、メモリ起動方法及びメモリ起動プログラムを記録した記録媒体 | |
JP2001283160A (ja) | Icカードおよびicカードの更新装置とその方法 | |
JP4148502B2 (ja) | 複数の情報伝達手段を有する可搬情報処理装置 | |
CN1997961A (zh) | 用于引导计算机系统的方法和装置 | |
JP5210095B2 (ja) | データ処理システム | |
JP2002351567A (ja) | プログラム制御装置および方法、ならびにプログラム | |
JP3788886B2 (ja) | Icカード及びicカード利用装置 | |
CA2545292C (en) | A method for writing data and applications into identification media | |
KR200315677Y1 (ko) | 운영체계를 기반으로 하는 신용카드 단말기 | |
JP7439798B2 (ja) | 電子情報記憶媒体、アプリケーション選択処理方法、及びプログラム | |
EP3926504B1 (en) | Hiding and unhiding java card applet instances |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080514 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110406 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110425 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140520 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |