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
Application number
JP2001266292A
Other languages
English (en)
Other versions
JP4742469B2 (ja
Inventor
Yuichi Nakagome
祐一 中込
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
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2001266292A priority Critical patent/JP4742469B2/ja
Publication of JP2003076954A publication Critical patent/JP2003076954A/ja
Application granted granted Critical
Publication of JP4742469B2 publication Critical patent/JP4742469B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】複数のICカードOSを搭載したICカード、
それを用いる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

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は複数のOSを搭載し
たICカード、それを用いるICカード処理装置および
処理方法に関する。
【0002】
【従来の技術】集積回路技術などの進展につれて、CP
Uとメモリを内蔵したICカードが実用されつつ、注目
を集めている。高度なセキュリティ機能と多機能化が可
能のため、種々の分野での使用が期待されている。
【0003】最近のICカードのICチップには、一般
的に、CPU、メモリ、及び、暗号処理専用回路などが
含まれている。そのメモリは通常、読み出し専用メモリ
(ROM)、書き換え可能な不揮発性メモリ、たとえ
ば、EEPROM、或は、FRAM、及び、ランダム・
アクセス・メモリ(RAM)を含む。
【0004】これまでは、特定の機能を実現する専用の
機械語プログラムをROMに記憶してICカードに収容
する場合がほとんどであった。例えば、ROMには、I
Cカードのオペレーティング・システム(OS)、各種
OSレベルのプログラム、および、サービスを提供する
応用プログラムを格納し、EEPROMにユーザの個人
データを収容する。最近では、マルチアプリケーション
型カードOSと言われるインタプリタを常駐させた構成
のICカードが出現している。このようなインタプリタ
を搭載したICカードにおいては、プログラム言語で記
述されたプログラムを書き換え可能な不揮発性メモリに
記録することにより、カードにOSを搭載後、さらに、
カード発行後でも応用プログラムを追加することができ
る、また、不必要なプログラムを削除することもでき
る。代表的なマルチアプリケーションOSとしては、MU
LTOS、JavaCard、Windowsfor SmartCardがある。この種
のICカードにおいては、OSカーネルがROMに格納
され、各種OSレベルのプログラム、サービスを提供す
る応用プログラム、およびユーザの個人データなどが書
き換え可能な不揮発性メモリに収容する事が多い。OS
レベルのプログラムをROMに収容することもある。
【0005】今までは、OSの処理能力やICカード内
蔵メモリの容量等の理由で、マルチアプリケーションO
Sは、1種類のプログラム言語に対応するインタプリタ
しか持っていない。従って、所定のマルチアプリケーシ
ョンOSを搭載したICカードは、そのOSに属するプ
ログラム言語で作成されたアプロケーションプログラム
しか使えない。例えば、MULTOSのICカードに搭載した
アプリケーションはMEL言語(MULTOS Executable Langu
age)で記述され、JavaCardではJava言語を使用し、ま
た、Windows for SmartCardではVirtual Basic言語で書
かれたアプリケーションしかサポートしない。
【0006】図1は、マルチアプリケーションOSを用
いるICカードおよびICカード処理装置の例示的な構
成を示すブロック図である。ICカード処理装置1は、
ICカード10、端末装置20、例えば、リード・ライ
ト装置、および、ホストコンピュータ30を有する。端
末装置20がICカード10を管理するホストコンピュ
ータ30の端末装置であり、ホストコンピュータ30か
らの指示に基づいて、ICカード10に対して、様々な
処理を行う。
【0007】ICカード10は、図1に示すように、C
PU11、インタフェース(I/F)12、暗号処理器
13、ランダム・アクセス・メモリ(RAM)14、読み
出し専用メモリ(ROM)15、および書き換え可能な
不揮発性メモリEEPROM16を有する。各構成成分
の機能は後述の本発明の実施の形態の記述において詳細
に説明する。
【0008】このようなハードウエアを有するICカー
ドには、図2に示した構成のソフトウエアが搭載されて
いる。図2は、従来の1つのOSを収容したマルチアプ
リケーションOSのICカード(以降、シングルOSI
Cカードと称する)におけるソフトウエア構成の一例を
示す概略図である。
【0009】この階層構造の中核はROM15に記憶さ
れるOSのカーネル部21である。OSカーネル部21
は、ICカードのハードウエア資源を管理し、上層のプ
ログラムからICカードのハードウエアをアクセスする
ためのインタフェースを提供する。また、OSカーネル
部21は上層のプログラムの動作を制御する。
【0010】図2において、OSカーネル部21の上層
には、OSレベルのソフトウエアである処理モジュール
が配置されている。処理モジュールは、OSカーネルの
多様な機能を上層の応用プログラムが便利に利用できる
ようにする。これら処理モジュールはEEPROM1
6、又は、ROM15に記録されている。ここでは、E
EPROM16に記録されていることを例にして説明す
る。
【0011】このような処理モジュールとしては、例え
ば、プログラム言語を処理するインタプリタ、プログラ
ムの追加、または、更新するプログラムローダ、アプリ
ケーション・プログラミング・インタフェース、暗号処理
ライブラリなどがある。説明の便宜上、ここでは、イン
タプリタ以外の様々な処理モジュールをモジュール23
とする。OSカーネル21、インタプリタ22、および
他の各種OSレベルの処理モジュール23を合わせて、
ICカードのOSとなる。処理モジュール23の上層に
は具体的なサービスを提供する様々なアプリケーション
プログラムが配置されている。ここでは、アプリケーシ
ョン1とアプリケーション2が配置されているとする。
【0012】図3は図2に示されたソフトウエア構成を
有するICカードにおいて、外部から受信したコマンド
を処理する手順を示すフローチャートである。ここで
は、ICカードにあるアプリケーション1を実行するコ
マンド、及びアプリケーションをICカードにダウンロ
ードするコマンドの処理を例として説明する。ホスト・
コンピュ−タ30よりコマンドが送信され、I/F12
がそれを受信すると、該コマンドはOSにより解釈さ
れ、その内容が確認される(ステップ31)。
【0013】そのコマンドがICカードにすでに存在す
るアプリケーション1を実行するコマンドである場合
は、コマンドに含まれているアプリケーション1のアド
レス情報を用いて、ファイルマネージャ処理モジュール
によって、ICカードのEEPROM16内にアプリケ
ーション1を検索する(ステップ32)。見つけた場合
は、アプリケーション1が実行される(ステップ3
3)、即ち、アプリケーション1がRAM14に読みこ
まれて、または、EEPROM16において直接に参照
されて、CPU11においてアプリケーション1に記述
された手続きを逐次実行する。
【0014】そのコマンドがICカードにアプリケーシ
ョン2をダウンロードするコマンドである場合は、OS
のプログラムローダ処理モジュールは動作され、ロード
コマンドに続いて送信される該アプリケーション2の構
成成分を認証処理しながらEEPROM16の指定され
た領域に書き込む(ステップ34)。
【0015】また、認証処理の結果、そのコマンドは搭
載されているOSに属するコマンドではない場合は、そ
のコマンドの処理が拒否される(ステップ35)。
【0016】
【発明が解決しようとする課題】以上に示すように、1
枚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カードは利便性を追求する上で問題になる。
【0017】もし複数のOSを一枚のカードに搭載でき
れば、異なるプログラム言語のインタプリタを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を一枚のカード
に搭載するには、メモリ容量の制限は問題にならない可
能性がある。
【0018】しかし、複数のOSを一枚のICカードに
搭載する場合は、プログラミング技術上は難しさがあ
る。例えば、図3のシングルOSのICカードのソフト
ウエアを基づいて、複数のOSのソフトウエアをどのよ
うな構造でICカードのROM15とEEPROM16
に配置し、動作させるのか。また、ICカードは、例え
ば、コマンドを受信した後、どのように複数のOSから
利用すべきOSを識別し、円滑にOSを切り替えるの
か、また、どのようにアプリケーションの属するOSを
気にせずに、カード所有者の指示だけに従い、希望のア
プリケーションプログラムをロード、追加、または、実
行等の処理を行うのか、などの問題がある。
【0019】本発明は、このような問題点に鑑みてなさ
れたものであり、本発明の目的は、複数のICカードO
Sを搭載したICカード、その複数のOSを搭載したI
Cカードを用いるICカード処理装置および処理方法を
提供することにある。
【0020】
【課題を解決するための手段】上記目的を達成するため
に、本発明に係わるICカードは、CPUと、メモリ
と、外部装置と入出力を行うインタフェースとを有する
ICカードであって、該メモリには、少なくとも、該外
部装置との入出力を制御するオペレーティング・システ
ムの基本部(OS基本部)と、前記OS基本部を参照し
ながら、ICカードの所定の機能を提供するアプリケー
ション・プログラムを実行させ管理する複数のICカー
ドOSと、前記インタフェースを介して外部装置から入
力されたコマンドを解読し、当該コマンドの実行可能な
ICカードOSを識別して起動するOSローダとが記憶
され、前記OS基本部の制御の下で前記インタフェース
を介して外部装置からのコマンドを受信し、前記OSロ
ーダは当該コマンドを解読し、当該コマンドの実行可能
なICカードOSを識別して起動し、当該ICカードO
Sによって当該コマンドを実行させる。
【0021】また、好ましくは、前記外部装置から入力
されたコマンドには、当該コマンドの実行可能なICカ
ードOSの情報が含まれている。
【0022】また、上記目的を達成するために、本発明
に係わるICカード処理装置は、前記ICカードはCP
Uと、メモリと、外部装置と入出力を行うインタフェー
スとを有し、前記メモリには、少なくとも、前記外部装
置との入出力を制御するオペレーティング・システムの
基本部(OS基本部)と、前記OS基本部を参照しなが
ら、ICカード所定の機能を提供するアプリケーション
・プログラムを実行させ管理する複数のICカードOS
と、前記インタフェースを介して外部装置から入力され
たコマンドを解読し、当該コマンドの実行可能なICカ
ードOSを識別して起動するOSローダとが記憶され、
前記外部装置は属するICカードOSの情報を含むコマ
ンドを前記ICカードへ送信し、当該ICカードは前記
OS基本部の制御の下で前記インタフェースを介して当
該コマンドを受信し、前記OSローダは当該コマンドに
含まれているICカードOSの情報を解読し、該ICカ
ードOSを起動し、該ICカードOSを介して当該コマ
ンドを実行させる。
【0023】また、上記目的を達成するために、本発明
に係わるICカード処理方法は、CPUと、メモリと、
外部装置と入出力を行うインタフェースとを有し、OS
基本部と複数のICカードOSとOSローダとを搭載し
たICカードの処理方法であって、前記外部装置は属す
るICカードOSの情報を含むコマンドを前記ICカー
ドへ送信し、前記ICカードは前記OS基本部の制御の
下で前記インタフェースを介して当該コマンドを受信
し、前記OSローダは当該コマンドに含まれているIC
カードOSの情報を解読し、該ICカードOSを識別し
て起動し、該ICカードOSによって当該コマンドを実
行させる。
【0024】OSローダを設けることによって、OS基
本部の制御でOSローダが外部装置からICカードへ送
られたコマンドを受信し、該コマンドに含まれるOS情
報を解読し、利用すべきICカードOSを識別してか
ら、そのOSに切り替え、該利用すべきカードOSによ
って、アプリケーションのロードや実行などの処理を行
うことが可能になる。カード所有者は、複数のカードO
Sの存在やアプリケーションが何のプログラム言語で記
述されたかを意識する必要がなく、便利且つ円滑にカー
ドOSを選択し、アプリケーションをロードまたは実行
することができる。
【0025】
【発明の実施の形態】以下、本発明の一実施の形態を添
付の図面を参照して説明する。ICカードおよびICカード処理装置 本実施形態に係わるICカードおよびICカード処理装
置は前述した図1に示されたICカード10およびIC
カード処理装置1と同じ構成を有し、以下、引き続き図
1を参照して本実施形態を説明する。
【0026】すでに述べたように、ICカード処理装置
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を有する。
【0027】CPU11は、端末装置20からのコマン
ド、あるいは、予めICカードに設定されたコマンドに
基づいて、EEPROM16に記憶されているアプリケ
ーションに従って、I/F12を介して端末装置20と
適宜通信を行いながら、所望の処理を行う、たとえば、
所有者とICカードの認証、代金の決済、ICカードの
診断などの処理を行う。CPU11において処理を行う
際に一時的に発生するデータをRAM14に記憶する。
【0028】I/F12を介して、ICカード10が端
末装置20に装着された場合に、電力とクロックの供給
を受けるとともに、端末装置20と信号の送受信を行
う。すなわち、I/F12は、端末装置20から受信し
た信号をCPU11に出力し、また、CPU11から入
力された信号を端末装置20に送信する。
【0029】暗号処理器13は、専用の暗号処理回路で
ある。暗号処理器13は乱数の生成や、RSAなどの暗
号の演算を行う。
【0030】RAM14、ROM15、および、EEP
ROM16がICカード10のメモリシステムを構成す
る。それぞれの機能は次に述べるICカードのソフトウ
エアの構成で説明する。
【0031】このようなハードウエアを有する複数のO
Sを有するICカードには、図4に示されたソフトウエ
ア構成が配置されている。図4は、本発明に係わる複数
OSを収容したマルチアプリケーションOSのICカー
ド(以降、マルチOSICカードと称する)におけるソ
フトウエア構成の一例を示す概念図である。
【0032】前述したシングル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カード発
行前に搭載したもので、書き換えることはできない。
【0033】本実施形態において、図4に示しているよ
うに、OSカーネル部41の上層には、OSローダ42
がEEPROM16に配置されている。OSローダ42
はOSカネール41の制御の下で、I/F12を介して
外部装置から受信したコマンドの内容を解読し、コマン
ドやコマンドに付加されているアプリケーションの利用
すべきOSを識別して選択する。
【0034】OSローダ42の上層には、ICカードに
搭載した複数のOSの処理モジュール部分である。この
部分もEEPROM16に記録されている。OSカーネ
ル41と各OSの複数の処理モジュールから各ICカー
ドOSが構成される。各OSの処理モジュールは、OS
カーネルの機能を上層の応用プログラムが便利に利用で
きるように設けられている。処理速度、容量、また、セ
キュリティの関係で、これらOSレベルのソフトウエア
は機械語で記述することが望まれる。このような処理モ
ジュールとして、例えば、プログラム言語を処理するイ
ンタプリタや、コマンドを処理するコマンドインタプリ
タ、プログラムを外から追加又は更新するプログラムロ
ーダ、アプリケーション・プログラミング・インタフェー
ス、暗号処理ライブラリなどがある。説明の便宜上、こ
こでは、インタプリタ以外の様々な処理モジュールを1
つのモジュールで表す。また、本発明の実施形態の例と
して、2つのOS(OSaとOSbと記する)を搭載す
る場合を例として説明する。2つのOSはそれぞれイン
タプリタa43と処理モジュールa44,インタプリタ
b45と処理モジュールb46を有する。
【0035】OSローダ42は受信したコマンドの内容
から属するOS認識し、対応するインタプリタなどのO
Sレベルのソフトウエアを起動させ、コマンドとアプリ
ケーションの処理を行う。OSローダ42と各OSの処
理モジュール43、44、45、46を書き換え可能な
EEPROM16に配置することによって、OSの追加
や削除も可能になり、その場合、OSローダ42の内容
を適切に修正して、新しく追加されたOSの識別と選択
も容易に実現できる。
【0036】各処理モジュールの上層には種々のサービ
スを提供するアプリケーションプログラムが配置されて
いる。図4に示すように、OSaに属するアプリケーシ
ョン1(47)とアプリケーション2(48)、OSb
に属するアプリケーション3(49)とアプリケーショ
ン4(50)が配置されている。
【0037】既に述べたように、プログラム言語で書か
れた応用プログラムを実行するには、インタプリタが必
要である。インタプリタは応用プログラムのソースコー
ドを、逐次、実行形式のコードに変換する。必要に応じ
て、必要な処理モジュールを呼出し、ICカードのシス
テムデータを利用し、ICカードのハードウエアをアク
セスしながら、ICカードの所定の機能を実現する。な
お、ICチップのCPUの機械語で動作し、プログラム
言語のアプリケーションではないものもある、その場合
は、インタプリタを動作させる必要がない。
【0038】ICカードが提供するサービスにより、応
用プログラムは様々あり、そのような応用プログラム
は、通常カード発行前にICカードに搭載する。マルチ
アプリケーションOSを用いるICカードにおいては、
ICカード発行後であっても、プログラムの追加、およ
び、更新することが可能である。
【0039】次は、OSローダ42の構成を図5と図6
を参照して説明する。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バイト以下とする。
【0040】OSローダ42には、図6に示された内容
が含まれている。図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であると登録されている。
【0041】OSローダ42は、受け取ったコマンドに
含まれているOSの情報に基づいて、該コマンドの属す
るOSを識別して、選択する。図7は本発明に係わる複
数のOSを用いるICカードが受信したコマンドのフォ
ーマットを示す図である。このコマンドの先頭に制御コ
ードを含むコマンドヘッダ有し、該コマンドヘッダに
は、コマンドが実行可能なOSを識別するデータである
ICカードOS識別子と、該コマンドの操作内容を示す
コマンドの種別コードとがある。該種別コードにより、
たとえば、アプリケーションのロード、実行などの操作
を行うことを判明できる。コマンドの本体には、該コマ
ンドが操作するアプリケーションやデータのアドレスが
あり、必要な場合は、該コマンドが操作する対象となる
データも付加されている。OSローダ42は、OSカー
ネル41の制御の下で、I/F12から受信したコマン
ドを受け取って、コマンドヘッダにあるOS識別子か
ら、該コマンドの属するOSを識別して起動する。起動
されたOSはコマンドインタプリタによりコマンドの種
別を得て、指定されたアドレスにデータを書き込み、或
は、指定されたアドレスにあるアプリケーションを実行
する等の処理を行う。以上が、ICカード処理装置1に
おけるICカード10のハードウエア及びソフトウエア
の構成の説明である。
【0042】このようなハードウエア構成およびソフト
ウエア構成のICカード10は、端末装置20に装着さ
れると、I/F12を介して端末装置20より電源とク
ロック信号の供給を受けて起動される。そして、端末装
置20を介して、ホストコンピュータ30からのコマン
ドに基づいて、ICカード10が処理を行う。端末装置
20は、例えば、通常店舗などで使用されている端末装
置であり、ICカード製造会社、または、サービスを提
供する会社のホストコンピュータ30に通信回線を介し
て接続されており、ホストコンピュータ30と装着され
たICカード10との間の通信データを転送する。
【0043】ICカード10が端末装置20に装着され
起動されて、そして、ICカード自身の認証処理、即
ち、ICカード10がICカード処理装置1で処理でき
るICカードか否かの処理を行う。後は、所有者が正当
な所有者か否かがチェックされる。ICカード10が認
定された場合には、端末装置20を介して、ICカード
10はホストコンピュータ30と通信できる。ホストコ
ンピュータ30とICカード10とは通信を順次に行い
ながら、ホストコンピュータ30より送信されたICカ
ード10に対する指示を実行する。
【0044】マルチOSのICカードの処理 以上のICカード処理装置1を用い、以上のハードウエ
アとソフトウエア構成を有するマルチ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の識別処理を行う。
【0045】次は、OSカーネル41の制御で、ICカ
ード10と端末装置20の間で認証処理が行われる(ス
テップS82)。例えば、ICカード所有者はパスワー
ドを入力して、正当な所有者であり、かつ、ICカード
は当該処理装置1で処理できるICカードであることが
判明されたら、ホストコンピュータ30は所有者が希望
する処理の指定を待つ。
【0046】次は、ICカード10の所有者は端末装置
20から入力し、ホストコンピュータ30が提供するサ
ービスに対する操作を行うと指定すると(例えば、ダウ
ンロード、実行など)、ホストコンピュータ30がその
操作をするコマンドをICカードに送信し、端末装置2
0を介してICカード10が該コマンドを受信する(ス
テップS83)。
【0047】ICカード10が該コマンドを受信する
と、OSカーネル41はOSローダ42を呼出し、OS
ローダ42により、コマンドの解釈を行い(ステップS
84)、即ち、コマンドヘッダにあるOS識別子を読み
取って、コマンドの属するOSを識別する。
【0048】次は、OSローダ42に登録されているI
Cカード10に搭載したOSのリストから、OS識別子
に対応するOSを検索し、そのOSの記憶場所、詳細な
アドレスを特定する(ステップS85)。
【0049】次は、特定された場所に記憶されたOSの
必要なシステムソフトウエアをRAM14に読み込んで
(または、EEPROM16において直接に実行し)、
当該OSのインタプリタなどの処理モジュールを動作さ
せる(ステップS86)。
【0050】コマンド処理の制御は起動されたOSに移
行し、以降の処理は当該OSの制御で行う(ステップS
87)。当該OSはコマンドインタプリタによりコマン
ドを解読し続き、コマンドの種別コードからコマンドの
種別を判別し、コマンドの操作を行うアドレスを得て、
必要な場合、書き込みデータも得る。ICカードOSに
よるコマンドの処理の具体的な例は図9と図10におい
て説明する。該ICカードOSによるコマンドの処理を
終了した後、当該OSのソフトウエアがRAM14から
退去させ、制御はOSカーネル41に戻り、次のコマン
ドの受信を待つ(ステップS88)。以上が、ICカー
ド処理装置1において、OSローダ42によるマルチO
SのICカード10のOSを識別、選択、および起動す
る工程の説明である。
【0051】図3に示された従来のシングルOSのIC
カードにおいてロードや実行コマンドの処理の流れと比
べるために、以上に説明したマルチOSのICカード1
0が同じコマンドに対する処理は、図9と図10に示さ
れた。図9は、本発明に係わるマルチOSのICカード
を用いて、アプリケーションをロードするコマンドを受
信した場合、ICカードの処理のフローチャートであ
る。
【0052】OSカーネル41の管理でホスト・コンピ
ュ−タ30よりコマンドが送信されると、OSローダ4
2によって該コマンドが解釈され、コマンドヘッドにあ
るOS識別子から、該コマンドの利用すべきOSを識別
する(ステップ91)。
【0053】そのOSがOSaである場合は、OSaの
システムソフトウエアをRAM14に読み込んで(また
は、EEPROM16において直接に実行し)、以降
は、OSaの制御の下で該コマンドの処理を行う(ステ
ップ92)。
【0054】OSaはコマンドインタプリタにより該コ
マンドを解読し、コマンドの種別コードからコマンドの
種別を判別する(ステップ93)。そのコマンドはIC
カード10にアプリケーション1をダウンロードするコ
マンドであることを確認したら、OSaのプログラムロ
ーダは動作され、ロードコマンドに続いて送信されるア
プリケーション1の構成成分を認証処理しながらEEP
ROM16の指定された領域に書き込む(ステップ9
4)。
【0055】そのOSはOSbである場合は、OSbの
システムソフトウエアをRAM14に読み込んで(また
は、EEPROM16において直接に実行し)、以降
は、OSbの制御の下で該コマンドの処理を行う(ステ
ップ95)。
【0056】OSbはコマンドインタプリタにより該コ
マンドを解読し、コマンドの種別コードからコマンドの
種別を判別する(ステップ96)。そのコマンドはIC
カード10にアプリケーション3をダウンロードするコ
マンドであることを確認したら、OSbのプログラムロ
ーダは動作され、ロードコマンドに続いて送信されるア
プリケーション3の構成成分を認証処理しながらEEP
ROM16の指定された領域に書き込む(ステップ9
7)。アプリケーションプログラムを書き込んだ後、O
Sa、または、OSbがRAM14から退去され、OS
a、または、OSbの処理が終了する。
【0057】図10は、本発明に係わるマルチOSのI
Cカードを用いて、アプリケーションを実行するコマン
ドを受信した場合、ICカードの処理のフローチャート
である。
【0058】OSカーネル41の管理でホスト・コンピ
ュ−タ30よりコマンドが送信されると、OSローダ4
2によって該コマンドを解釈され、コマンドのヘッドに
あるOS識別子から、該コマンドの利用すべきOSを識
別する(ステップ101)。
【0059】そのOSはOSaである場合は、OSaの
システムソフトウエアをRAM14に読み込んで(また
は、EEPROM16において直接に実行し)、以降
は、OSaの制御の下で該コマンドの処理を行う(ステ
ップ102)。
【0060】OSaはコマンドインタプリタによりコマ
ンドを解読し、コマンドの種別コードからコマンドの種
別を判別する(ステップ103)。そのコマンドはIC
カード10に存在するアプリケーション2を実行するコ
マンドであることを確認したら、コマンド内容からアプ
リケーション2が記録されるアドレスを得る。続いて、
OSaのファイルマネージャによって、ICカード10
のEEPROM16内にアプリケーション2を検索する
(ステップ104)。発見したら、アプリケーション2
を実行する(ステップ105)。即ち、アプリケーショ
ン2をRAM14に読み込んで(または、EEPROM
16において直接に実行し)、CPU11においてアプ
リケーション2に記述された手続きを逐次実行する。
【0061】そのOSはOSbである場合は、OSbの
システムソフトウエアをRAM14に読み込んで(また
は、EEPROM16において直接に実行し)、以降
は、OSbの制御の下で該コマンドの処理を行う(ステ
ップ106)。
【0062】OSbはコマンドインタプリタによりコマ
ンドを解読し、コマンドの種別コードからコマンドの種
別を判別する(ステップ107)。そのコマンドはすで
にICカード10に存在するアプリケーション4を実行
するコマンドであることを確認したら、コマンド内容か
らアプリケーション4が記録されるアドレスを得る。続
いて、OSbのファイルマネージャによって、ICカー
ド10のEEPROM16内にアプリケーション4を検
索する(ステップ108)。発見したら、アプリケーシ
ョン4を実行する(ステップ109)。即ち、アプリケ
ーション4をRAM14に読み込んで(または、EEP
ROM16において直接に実行し)、CPU11におい
てアプリケーション4に記述された手続きを逐次実行す
る。
【0063】アプリケーション2、又は、アプリケーシ
ョン4を実行した後、OSa、または、OSbがRAM
14から退去され、OSa、または、OSbの処理が終
了する。
【0064】本発明は以上に説明した実施の形態に限ら
れるものではなく、種々の改変が可能である。前述した
実施の形態において、図4に示されたように、OSロー
ダ42と各OSの処理モジュール43、44、45、4
6がEEPROM16に記憶されているが、これらのプ
ログラム、または、その中の一部をROMに記憶しても
いい。その場合、ICカードに搭載するOSとOSロー
ダ42の内容を事前に決め、ICカード発行前にROM
に搭載して、発行後は搭載するOSの修正はできない。
以上の方法では、例示として2つのOSを搭載した場合
について述べたが、本発明において、2つ以上のOSを
搭載することができるのは明らかである。
【0065】また、本実施の形態においては、接触型の
ICカードを例示して本発明を説明した。しかし、イン
タフェース(I/F)12としては端子が設けられてお
らず、コイルを用いて電磁的に外部装置と接続されるよ
うな構成の非接触型のICカードであってもよい。
【0066】
【発明の効果】本発明によれば、1枚のICカードに複
数のOSを搭載することができ、ICカードの用途を大
幅に広げ、ICカード使用上の便利性が優れている。ま
た、OSローダを設けることにより、コマンドを受信し
た度に、コマンドの属するOSの識別と選択が行われ、
コマンドの属するOSの制御でアプリケーションの処理
を行うことから、ICカードの所有者はカードに搭載さ
れたOSの範囲内では利用すべきOSを意識する必要が
なくICカードを使用することができ、あたかも1つの
OSの上で、複数の言語を処理可能なマルチアプリケー
ションICカードとなる、汎用性及び便利性に優れてい
る。また、OSローダやOSの処理モジュールを書き換
え可能なEEPROMに記録し、OSローダを修正可能
となっていることから、新しいOSの追加も可能とな
り、さらに、不必要なOSを削除も可能であり、ICカ
ードの使用上の柔軟性に優れている。
【図面の簡単な説明】
【図1】本発明に係わるICカード処理装置の構成を示
すブロック図である。
【図2】従来のICカードのソフトウエア構成を示す概
念図である。
【図3】図2に示されたソフトウエア構成を有する従来
のICカードを用いて、コマンドを処理する工程を示す
フローチャートである。
【図4】本発明に係わる複数OSを用いるICカードの
ソフトウエア構成を示す概念図である。
【図5】本発明に係わる複数OSを用いるICカードの
OSローダと各OSのシステムソフトウエアがEEPR
OMにおける配置を示す図である。
【図6】本発明に係わる複数OSを用いるICカードの
OSローダの概略な内容を示す図である。
【図7】本発明に係わる複数OSを用いるICカードが
受信したコマンドのフォーマットを示す概略図である。
【図8】本発明に係わる複数OSを用いるICカードの
OSローダによりICカードOSの識別、選択、および
起動の工程を示すフローチャートである。
【図9】本発明に係わる複数OSを用いるICカードに
おいて、アプリケーションプログラムをICカードにロ
ードする工程を示すフローチャートである。
【図10】本発明に係わる複数OSを用いるICカード
において、すでにICカードに存在するアプリケーショ
ンを実行する工程を示すフローチャートである。
【符号の説明】
1…ICカード処理装置 10…ICカード 11…CPU 12…インタフェース(I/F) 13…暗号処理器 14…RAM 15…ROM 16…書き換え可能な不揮発性メモリ(EEPROM) 20…端末装置 21…OSのカーネル部 22…インタプリタ 23…処理モジュール 24…アプリケーション1 25…アプリケーション2 30…ホストコンピュータ 41…OSのカーネル部 42…OSローダ 43…インタプリタa 44…処理モジュールa 45…インタプリタb 46…処理モジュールb 47…アプリケーション1 48…アプリケーション2 49…アプリケーション3 50…アプリケーション4

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】CPUと、メモリと、外部装置と入出力を
    行うインタフェースとを有するICカードであって、 該メモリには、少なくとも、該外部装置との入出力を制
    御するオペレーティング・システムの基本部(OS基本
    部)と、前記OS基本部を参照しながら、ICカードの
    所定の機能を提供するアプリケーション・プログラムを
    実行させ管理する複数のICカードOSと、前記インタ
    フェースを介して外部装置から入力されたコマンドを解
    読し、当該コマンドの実行可能なICカードOSを識別
    して起動するOSローダとが記憶され、 前記OS基本部の制御の下で前記インタフェースを介し
    て外部装置からのコマンドを受信し、前記OSローダは
    当該コマンドを解読し、当該コマンドの実行可能なIC
    カードOSを識別して起動し、当該ICカードOSによ
    って当該コマンドを実行させるICカード。
  2. 【請求項2】前記外部装置から入力されたコマンドに
    は、当該コマンドの実行可能なICカードOSの情報が
    含まれている請求項1記載のICカード。
  3. 【請求項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. 【請求項4】CPUと、メモリと、外部装置と入出力を
    行うインタフェースとを有し、OS基本部と複数のIC
    カードOSとOSローダとを搭載したICカードの処理
    方法であって、 前記外部装置は属するICカードOSの情報を含むコマ
    ンドを前記ICカードへ送信し、 前記ICカードは前記OS基本部の制御の下で前記イン
    タフェースを介して当該コマンドを受信し、前記OSロ
    ーダは当該コマンドに含まれているICカードOSの情
    報を解読し、該ICカードOSを識別して起動し、該I
    CカードOSによって当該コマンドを実行させるICカ
    ード処理方法。
JP2001266292A 2001-09-03 2001-09-03 複数のosを用いるicカード、icカード処理装置および処理方法 Expired - Fee Related JP4742469B2 (ja)

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)

* Cited by examiner, † Cited by third party
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チップ、情報処理方法、プログラム、及び情報処理システム

Cited By (25)

* Cited by examiner, † Cited by third party
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
US7165727B2 (en) Method and apparatus for installing an application onto a smart card
EP0985202B1 (en) Multi-application ic card with delegation feature
US7191288B2 (en) Method and apparatus for providing an 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
EP1770533A1 (en) Information management device and information management method
KR20040078901A (ko) 기억 장치
EP0981805A1 (en) Ic card with shell feature
JP2003076954A (ja) 複数のosを用いるicカード、icカード処理装置および処理方法
WO1999018538A1 (fr) Terminal portable pour carte de ci
CN113064638B (zh) 嵌入式***
CN113127074B (zh) 嵌入式***
WO2002005095A1 (fr) Carte a circuit integre
JPH07191835A (ja) コンピュータシステム
JP2003044801A (ja) 複数の情報伝達手段を備えた可搬情報処理装置
US6866192B2 (en) IC card terminal
CN1997961A (zh) 用于引导计算机***的方法和装置
JP5210095B2 (ja) データ処理システム
JP2002351567A (ja) プログラム制御装置および方法、ならびにプログラム
US20030150913A1 (en) IC card terminal
JP3788886B2 (ja) Icカード及びicカード利用装置
CA2545292C (en) A method for writing data and applications into identification media
JP7439798B2 (ja) 電子情報記憶媒体、アプリケーション選択処理方法、及びプログラム
KR200315677Y1 (ko) 운영체계를 기반으로 하는 신용카드 단말기
JP2003281487A (ja) 携帯可能電子装置、及びアプリケーションとデータ領域をメモリ内に設ける方法

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