JP2003036425A - セキュリティカード - Google Patents
セキュリティカードInfo
- Publication number
- JP2003036425A JP2003036425A JP2001223775A JP2001223775A JP2003036425A JP 2003036425 A JP2003036425 A JP 2003036425A JP 2001223775 A JP2001223775 A JP 2001223775A JP 2001223775 A JP2001223775 A JP 2001223775A JP 2003036425 A JP2003036425 A JP 2003036425A
- Authority
- JP
- Japan
- Prior art keywords
- command
- application
- data
- common
- processing program
- 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.)
- Pending
Links
Landscapes
- Credit Cards Or The Like (AREA)
Abstract
(57)【要約】
【課題】本発明の目的は、複数のアプリケーションを並
列に実行することにより、ユーザの利便性を向上するこ
とである。 【解決手段】本発明は、ホストインタフェース210と、
中央処理装置220と、ROM240と、RAM250と、EEPROM260
と、暗号コプロセッサ270とを備え、中央処理装置220
が、共通コマンド処理プログラムのロード時に共通コマ
ンド用ワークのサイズを算出し、EEPROM260に記憶さ
せ、アプリケーション専用コマンド処理プログラムのロ
ード時に共通コマンド用ワークエリアをEEPROM260にア
プリケーション単位で割付け、論理チャネル単位でアプ
リケーション専用コマンド処理プログラム(コード、デ
ータ)、共有コマンド処理プログラム(コード、ワー
ク)を対応づけて管理する。
列に実行することにより、ユーザの利便性を向上するこ
とである。 【解決手段】本発明は、ホストインタフェース210と、
中央処理装置220と、ROM240と、RAM250と、EEPROM260
と、暗号コプロセッサ270とを備え、中央処理装置220
が、共通コマンド処理プログラムのロード時に共通コマ
ンド用ワークのサイズを算出し、EEPROM260に記憶さ
せ、アプリケーション専用コマンド処理プログラムのロ
ード時に共通コマンド用ワークエリアをEEPROM260にア
プリケーション単位で割付け、論理チャネル単位でアプ
リケーション専用コマンド処理プログラム(コード、デ
ータ)、共有コマンド処理プログラム(コード、ワー
ク)を対応づけて管理する。
Description
【0001】
【発明の属する技術分野】本発明は、セキュリティ機能
と記憶機能を搭載し、ホスト機器からのコマンドに応じ
て、データの処理及び記憶が可能な処理/記憶媒体(例
えば、セキュリティカード)、及びその処理/記憶媒体
(例えば、セキュリティカード)が挿入可能なホスト機
器に関する。
と記憶機能を搭載し、ホスト機器からのコマンドに応じ
て、データの処理及び記憶が可能な処理/記憶媒体(例
えば、セキュリティカード)、及びその処理/記憶媒体
(例えば、セキュリティカード)が挿入可能なホスト機
器に関する。
【0002】
【従来の技術】ICカードは、プラスチックカード基板
中にIC(集積回路)チップを埋め込んだものであり、
その表面にICチップの外部端子を持つ。ICチップの
外部端子には電源端子、クロック端子、データ入出力端
子などがある。ICチップは、接続装置が外部端子から
電源や駆動クロックを直接供給することによって動作す
る。ICカードは外部端子を通して端末機などの接続装
置との間で電気信号を送受信することにより、接続装置
と情報交換をおこなう。情報交換の結果として、ICカ
ードは計算結果や記憶情報の送出、記憶情報の変更をお
こなう。ICカードは、これらの動作仕様に基づいて、
機密データ保護や個人認証などのセキュリティ処理を実
行する機能を持つことができる。ICカードは、クレジ
ット決済やバンキングなど機密情報のセキュリティが必
要とされるシステムにおいて、個人識別のためのユーザ
デバイスとして利用されている。
中にIC(集積回路)チップを埋め込んだものであり、
その表面にICチップの外部端子を持つ。ICチップの
外部端子には電源端子、クロック端子、データ入出力端
子などがある。ICチップは、接続装置が外部端子から
電源や駆動クロックを直接供給することによって動作す
る。ICカードは外部端子を通して端末機などの接続装
置との間で電気信号を送受信することにより、接続装置
と情報交換をおこなう。情報交換の結果として、ICカ
ードは計算結果や記憶情報の送出、記憶情報の変更をお
こなう。ICカードは、これらの動作仕様に基づいて、
機密データ保護や個人認証などのセキュリティ処理を実
行する機能を持つことができる。ICカードは、クレジ
ット決済やバンキングなど機密情報のセキュリティが必
要とされるシステムにおいて、個人識別のためのユーザ
デバイスとして利用されている。
【0003】
【発明が解決しようとする課題】ICカードは内部に機
密データを格納し、機密データに関わる処理は全てIC
カード内部で実行する。そうすることによって、機密デ
ータがICカードの外に出ることを防いでいる。機密デ
ータに関わる処理はコマンド処理プログラムとして構成
されている。ICカードの外部(ホスト機器)から、I
Cカードにコマンドを送信すると、そのコマンドに対応
したコマンド処理プログラムが実行される。そして実行
結果がホスト機器に返信される。コマンドは一つとは限
らず複数個備わっている場合が多い、コマンド(あるい
はコマンド処理プログラム)は相互に密接な関係があ
り、前のコマンドの実行結果を内部に保存しておき、そ
のデータを使って後のコマンドの処理が行われることが
多い。予め決められているコマンド発行のシナリオに従
って、ホスト機器からコマンドがICカードに発行され
る。一連のコマンド送信/レスポンス受信を繰り返すこ
とによって、セキュリティシステム処理が遂行される。
密データを格納し、機密データに関わる処理は全てIC
カード内部で実行する。そうすることによって、機密デ
ータがICカードの外に出ることを防いでいる。機密デ
ータに関わる処理はコマンド処理プログラムとして構成
されている。ICカードの外部(ホスト機器)から、I
Cカードにコマンドを送信すると、そのコマンドに対応
したコマンド処理プログラムが実行される。そして実行
結果がホスト機器に返信される。コマンドは一つとは限
らず複数個備わっている場合が多い、コマンド(あるい
はコマンド処理プログラム)は相互に密接な関係があ
り、前のコマンドの実行結果を内部に保存しておき、そ
のデータを使って後のコマンドの処理が行われることが
多い。予め決められているコマンド発行のシナリオに従
って、ホスト機器からコマンドがICカードに発行され
る。一連のコマンド送信/レスポンス受信を繰り返すこ
とによって、セキュリティシステム処理が遂行される。
【0004】マルチアプリケーション対応のICカード
用OS(オペレーティングシステム)としてMULTO
Sなどが知られている。アプリケーション用コマンド処
理プログラムと機密データは一体として管理されてい
て、アプリケーション単位にICカードに登録・削除で
きる。そしてアプリケーション間にはファイアウォール
が設定されており、相互干渉を防止している。
用OS(オペレーティングシステム)としてMULTO
Sなどが知られている。アプリケーション用コマンド処
理プログラムと機密データは一体として管理されてい
て、アプリケーション単位にICカードに登録・削除で
きる。そしてアプリケーション間にはファイアウォール
が設定されており、相互干渉を防止している。
【0005】上記従来の技術では、アプリケーション間
にファイアウォールが設定されているため、アプリケー
ション間で共通に使用する共通コマンドを登録できなか
った。また、アプリケーション内のデータを共通コマン
ドへのコマンドパラメータとして使うことなどできなか
った。さらに、アクティブなアプリケーションを一つし
かオープンできず複数アプリケーションを同時に実行す
ることが難しいという問題点があった。
にファイアウォールが設定されているため、アプリケー
ション間で共通に使用する共通コマンドを登録できなか
った。また、アプリケーション内のデータを共通コマン
ドへのコマンドパラメータとして使うことなどできなか
った。さらに、アクティブなアプリケーションを一つし
かオープンできず複数アプリケーションを同時に実行す
ることが難しいという問題点があった。
【0006】本発明の目的は、複数のアプリケーション
を並列に実行することにより、ユーザの利便性を向上し
たセキュリティカードを提供することである。
を並列に実行することにより、ユーザの利便性を向上し
たセキュリティカードを提供することである。
【0007】
【課題を解決するための手段】本発明は、オープンチャ
ネルコマンド、クローズチャネルコマンド、共通コマン
ド処理プログラムのローディングコマンド、アプリケー
ション専用コマンド処理プログラムのローディングコマ
ンドを備える。
ネルコマンド、クローズチャネルコマンド、共通コマン
ド処理プログラムのローディングコマンド、アプリケー
ション専用コマンド処理プログラムのローディングコマ
ンドを備える。
【0008】また、システムコマンド、共通コマンドお
よびアプリケーション専用コマンドを実行する手段、多
数の論理チャネルを管理するテーブル、論理チャネル単
位にアプリケーション専用コマンド処理プログラム(命
令コード、スタティックデータ、ダイナミックデー
タ)、共有コマンド処理プログラム(命令コード、ワー
クデータ)を対応づけて管理する手段、共通コマンド処
理プログラムをローディングする場合に共通コマンド命
令コードへのポインタおよび共通コマンド用ワークエリ
アのサイズを算出し記憶しておく手段、アプリケーショ
ン専用コマンド処理プログラムをローディングする場合
に共通コマンド用ワークエリアをアプリケーション単位
に割付ける手段、論理チャネルをオープンする場合に対
応するアプリケーション専用コマンド用ダイナミックデ
ータと共有コマンド用ワークデータを初期化する手段、
論理チャネル番号とコマンド番号でコマンド処理プログ
ラム選択し実行させる手段、論理チャネル番号で共通コ
マンド用ワークエリアを選択し切換える手段、論理チャ
ネル番号でアプリケーション用スタティックデータを選
択し切換える手段、を備える。
よびアプリケーション専用コマンドを実行する手段、多
数の論理チャネルを管理するテーブル、論理チャネル単
位にアプリケーション専用コマンド処理プログラム(命
令コード、スタティックデータ、ダイナミックデー
タ)、共有コマンド処理プログラム(命令コード、ワー
クデータ)を対応づけて管理する手段、共通コマンド処
理プログラムをローディングする場合に共通コマンド命
令コードへのポインタおよび共通コマンド用ワークエリ
アのサイズを算出し記憶しておく手段、アプリケーショ
ン専用コマンド処理プログラムをローディングする場合
に共通コマンド用ワークエリアをアプリケーション単位
に割付ける手段、論理チャネルをオープンする場合に対
応するアプリケーション専用コマンド用ダイナミックデ
ータと共有コマンド用ワークデータを初期化する手段、
論理チャネル番号とコマンド番号でコマンド処理プログ
ラム選択し実行させる手段、論理チャネル番号で共通コ
マンド用ワークエリアを選択し切換える手段、論理チャ
ネル番号でアプリケーション用スタティックデータを選
択し切換える手段、を備える。
【0009】
【発明の実施の形態】本発明の実施例について図面を用
いて説明する。
いて説明する。
【0010】図1に本発明の一実施例の全体構成図を示
す。本発明に関わる統合セキュリティカード200は、
ホストインタフェース210を介してホスト機器のアダ
プタ130に接続する。ホスト機器100は計算機の全
体制御を行う中央処理装置(以下CPU)110、メモ
リ装置120、アダプタ130で構成されていて、それ
らはシステムバス140で接続されている。メモリ装置
120には、アプリケーションプログラム121、12
2、およびコマンド登録ツール123が格納されてい
る。これらのプログラムは統合セキュリティカード20
0をアクセスする。プログラム121、122、123
から発行されたコマンドは、アダプタ130、インタフ
ェースバス150を経由して統合セキュリティカード2
00へ送信される。また、統合セキュリティカード20
0からは、コマンドに対応してレスポンスがホスト機器
100へ返信される。
す。本発明に関わる統合セキュリティカード200は、
ホストインタフェース210を介してホスト機器のアダ
プタ130に接続する。ホスト機器100は計算機の全
体制御を行う中央処理装置(以下CPU)110、メモ
リ装置120、アダプタ130で構成されていて、それ
らはシステムバス140で接続されている。メモリ装置
120には、アプリケーションプログラム121、12
2、およびコマンド登録ツール123が格納されてい
る。これらのプログラムは統合セキュリティカード20
0をアクセスする。プログラム121、122、123
から発行されたコマンドは、アダプタ130、インタフ
ェースバス150を経由して統合セキュリティカード2
00へ送信される。また、統合セキュリティカード20
0からは、コマンドに対応してレスポンスがホスト機器
100へ返信される。
【0011】図2は、本発明に関わる統合セキュリティ
カード200のシステムブロック図である。
カード200のシステムブロック図である。
【0012】統合セキュリティカード200は、演算処
理を行うためのCPU220と、データ(プログラムを
含む)を記憶するためのROM(Read Only Memory)2
40とRAM(Random Access Memory)250とEEP
ROM(Electrically Erasable Programmable ROM)2
60と、暗号/復号に間する処理を行うための暗号コプ
ロセッサ270と、外部とデータを送受信するためのホ
ストインタフェース210とを備え、それらは、バス2
30によって接続される。暗号コプロセッサ270によ
って、ホスト機器100からのコマンドに応じて、暗号
処理を実行することが可能である。尚、暗号コプロセッ
サ270(ハードウェア)の替わりに、プログラム(ソ
フトウェア)に従ってCPU220が暗号処理を実行し
てもよい。統合セキュリティカード200は、ホスト機
器100と通信を行い、ホスト機器100からのコマン
ドに応じて、セキュリティ処理及び記憶処理を実行す
る。統合セキュリティカード200とホスト機器100
との間の通信は、インタフェースバス150のような有
線であってもよいし、赤外線や電波のような無線であっ
てもよい。統合セキュリティカード200の形状は、カ
ード形状に限定されない。統合セキュリティカード20
0は、例えば、ICカードである。
理を行うためのCPU220と、データ(プログラムを
含む)を記憶するためのROM(Read Only Memory)2
40とRAM(Random Access Memory)250とEEP
ROM(Electrically Erasable Programmable ROM)2
60と、暗号/復号に間する処理を行うための暗号コプ
ロセッサ270と、外部とデータを送受信するためのホ
ストインタフェース210とを備え、それらは、バス2
30によって接続される。暗号コプロセッサ270によ
って、ホスト機器100からのコマンドに応じて、暗号
処理を実行することが可能である。尚、暗号コプロセッ
サ270(ハードウェア)の替わりに、プログラム(ソ
フトウェア)に従ってCPU220が暗号処理を実行し
てもよい。統合セキュリティカード200は、ホスト機
器100と通信を行い、ホスト機器100からのコマン
ドに応じて、セキュリティ処理及び記憶処理を実行す
る。統合セキュリティカード200とホスト機器100
との間の通信は、インタフェースバス150のような有
線であってもよいし、赤外線や電波のような無線であっ
てもよい。統合セキュリティカード200の形状は、カ
ード形状に限定されない。統合セキュリティカード20
0は、例えば、ICカードである。
【0013】ホスト機器100から統合セキュリティカ
ード200に発行されるコマンドのタイプを図3に示
す。コマンドには、システムコマンド、アプリケーショ
ン間で共通に使用できる共通コマンド、アプリケーショ
ン専用コマンドの3つのタイプがある。共通コマンドと
アプリケーション専用コマンド処理プログラムはホスト
機器100から登録することができる。
ード200に発行されるコマンドのタイプを図3に示
す。コマンドには、システムコマンド、アプリケーショ
ン間で共通に使用できる共通コマンド、アプリケーショ
ン専用コマンドの3つのタイプがある。共通コマンドと
アプリケーション専用コマンド処理プログラムはホスト
機器100から登録することができる。
【0014】図4は、統合セキュリティカード200内
のROM240、EEPROM260とRAM250の
メモリマップである。ROM240には、コマンド受信
プログラム241、コマンド終了プログラム242、シ
ステム制御およびシステムコマンド領域243を割り振
る。EEPROM260には、システム管理データ領域
261、アプリケーション動作領域262、共通コマン
ド動作領域263を割り振る。RAM250には、シス
テムコマンド用ワーク領域251、アプリケーション用
ワーク領域252を割り振る。コマンド受信プログラム
241、コマンド終了プログラム242、およびシステ
ムコマンド領域243内のシステムコマンド処理プログ
ラムは、システム管理データ領域261とシステムコマ
ンド用ワーク領域251を使用する。
のROM240、EEPROM260とRAM250の
メモリマップである。ROM240には、コマンド受信
プログラム241、コマンド終了プログラム242、シ
ステム制御およびシステムコマンド領域243を割り振
る。EEPROM260には、システム管理データ領域
261、アプリケーション動作領域262、共通コマン
ド動作領域263を割り振る。RAM250には、シス
テムコマンド用ワーク領域251、アプリケーション用
ワーク領域252を割り振る。コマンド受信プログラム
241、コマンド終了プログラム242、およびシステ
ムコマンド領域243内のシステムコマンド処理プログ
ラムは、システム管理データ領域261とシステムコマ
ンド用ワーク領域251を使用する。
【0015】図5は、システムコマンド用ワーク領域2
51と、システム管理データ領域261の詳細である。
300はホスト機器100から受取ったコマンド情報を
格納しておくコマンドデータ領域、310は逆にホスト
機器に返送するレスポンス情報を格納しておくレスポン
スデータ領域である。320は現在選択されている論理
チャネル番号を記憶するカレントCHCBである。
51と、システム管理データ領域261の詳細である。
300はホスト機器100から受取ったコマンド情報を
格納しておくコマンドデータ領域、310は逆にホスト
機器に返送するレスポンス情報を格納しておくレスポン
スデータ領域である。320は現在選択されている論理
チャネル番号を記憶するカレントCHCBである。
【0016】また、システム管理データ領域261に
は、いろいろなシステム管理テーブルを格納する。33
0は登録されているアプリケーション専用コマンド処理
プログラムを管理するテーブルAPCB(Application
Control Block)、340は登録されている共通コマン
ド処理プログラムを管理するテーブルCCCB(Common
command control block)、350は論理チャネルを管
理するテーブルCHCB(Channel control block)、
360はシステムコマンドを管理するテーブルSCCB
(System command control block)である。
は、いろいろなシステム管理テーブルを格納する。33
0は登録されているアプリケーション専用コマンド処理
プログラムを管理するテーブルAPCB(Application
Control Block)、340は登録されている共通コマン
ド処理プログラムを管理するテーブルCCCB(Common
command control block)、350は論理チャネルを管
理するテーブルCHCB(Channel control block)、
360はシステムコマンドを管理するテーブルSCCB
(System command control block)である。
【0017】図6は、アプリケーション動作領域26
2、アプリケーション用ワーク領域252の詳細であ
る。EEPROM260内のアプリケーション動作領域
262はアプリケーション単位に分割されていて(51
0、520)、それぞれの領域に各アプリケーション専
用コマンド処理プログラムのコード(511、521)
とデータS(512、522)が格納される。データS
(512、522)は定数などのスタティックデータで
ある。RAM250内のアプリケーション用ワーク領域
252もアプリケーション単位に分割されていて(61
0、620)、それぞれの領域に各アプリケーション専
用コマンド処理プログラムのデータD(611、62
1)、および共通コマンド用ワーク(612、622)
が格納される。データD(611、621)はアプリケ
ーションがアクティブになっている間使用するダイナミ
ックデータである。共通コマンド用ワーク(612、6
22)は、それぞれのアプリケーション毎に割り振られ
る。
2、アプリケーション用ワーク領域252の詳細であ
る。EEPROM260内のアプリケーション動作領域
262はアプリケーション単位に分割されていて(51
0、520)、それぞれの領域に各アプリケーション専
用コマンド処理プログラムのコード(511、521)
とデータS(512、522)が格納される。データS
(512、522)は定数などのスタティックデータで
ある。RAM250内のアプリケーション用ワーク領域
252もアプリケーション単位に分割されていて(61
0、620)、それぞれの領域に各アプリケーション専
用コマンド処理プログラムのデータD(611、62
1)、および共通コマンド用ワーク(612、622)
が格納される。データD(611、621)はアプリケ
ーションがアクティブになっている間使用するダイナミ
ックデータである。共通コマンド用ワーク(612、6
22)は、それぞれのアプリケーション毎に割り振られ
る。
【0018】図7は、は登録されているアプリケーショ
ン専用コマンド処理プログラムを管理するテーブルAP
CB(330)の詳細である。APCB(330)はア
プリケーションに対応してエントリ(331、332、
・・)を持つ。各エントリ331は対応するアプリケー
ションに関する情報を格納している。これらの情報はア
プリケーションが登録された時に作成される。
ン専用コマンド処理プログラムを管理するテーブルAP
CB(330)の詳細である。APCB(330)はア
プリケーションに対応してエントリ(331、332、
・・)を持つ。各エントリ331は対応するアプリケー
ションに関する情報を格納している。これらの情報はア
プリケーションが登録された時に作成される。
【0019】APCB(1,0)はアプリケーションが登録
されているか否かをあらわすスイッチである。対応する
アプリケーションが格納されている場所(コード、デー
タS、データDへのポインタ)、アプリケーション名、
そのアプリケーションに割り振られた共通コマンド用ワ
ークへのポインタなどがある。APCB(330)は図
10に示すアプリケーションユニットのローディングコ
マンド(Load_AP)で作成される。
されているか否かをあらわすスイッチである。対応する
アプリケーションが格納されている場所(コード、デー
タS、データDへのポインタ)、アプリケーション名、
そのアプリケーションに割り振られた共通コマンド用ワ
ークへのポインタなどがある。APCB(330)は図
10に示すアプリケーションユニットのローディングコ
マンド(Load_AP)で作成される。
【0020】図8は、論理チャネルを管理するテーブル
CHCB(350)の詳細である。
CHCB(350)の詳細である。
【0021】ホスト機器100内のプログラム(12
1、122、123)は論理チャネルを経由して、統合
セキュリティカード200内のアプリケーション専用コ
マンド、共通コマンドをアクセスできる。論理チャネル
は図10に示すオープンチャネルコマンド(Open_Chann
el)で作成され、論理チャネルとアプリケーションが対
応付けられる。論理チャネル番号に対応してエントリ
(351、352、…)を持つ。各エントリ(351)
は対応する論理チャネルに関する情報を格納している。
CHCB(1,0)は当該チャネルを使用中のアプリケーシ
ョン番号をあらわす。使用中アプリケーションが格納さ
れている場所(コード、データS、データDへのポイン
タ)、そのアプリケーションに割り振られた共通コマン
ド用ワークへのポインタを格納する。
1、122、123)は論理チャネルを経由して、統合
セキュリティカード200内のアプリケーション専用コ
マンド、共通コマンドをアクセスできる。論理チャネル
は図10に示すオープンチャネルコマンド(Open_Chann
el)で作成され、論理チャネルとアプリケーションが対
応付けられる。論理チャネル番号に対応してエントリ
(351、352、…)を持つ。各エントリ(351)
は対応する論理チャネルに関する情報を格納している。
CHCB(1,0)は当該チャネルを使用中のアプリケーシ
ョン番号をあらわす。使用中アプリケーションが格納さ
れている場所(コード、データS、データDへのポイン
タ)、そのアプリケーションに割り振られた共通コマン
ド用ワークへのポインタを格納する。
【0022】図9は、システムコマンドを管理するテー
ブルSCCB(360)、および登録されている共通コ
マンド処理プログラムを管理するテーブルCCCB(3
40)の詳細である。
ブルSCCB(360)、および登録されている共通コ
マンド処理プログラムを管理するテーブルCCCB(3
40)の詳細である。
【0023】SCCB(360)はシステムコマンド処
理ルーチンのアドレスを格納する。CCCB(340)
は共通コマンドの登録状態、共通コマンドコードへのポ
インタ、共通コマンド用ワークのサイズなどを格納す
る。CCCB(340)は図10に示す共通コマンドの
ローディングコマンド(Load_CCOM)で作成される。
理ルーチンのアドレスを格納する。CCCB(340)
は共通コマンドの登録状態、共通コマンドコードへのポ
インタ、共通コマンド用ワークのサイズなどを格納す
る。CCCB(340)は図10に示す共通コマンドの
ローディングコマンド(Load_CCOM)で作成される。
【0024】図10に、システムコマンドの一覧を示
す。Open_Channelコマンドは論理チャネルをオープン
し、指定されたアプリケーションを対応付ける、そして
当該チャネル番号を返す。Close_Channelコマンドは指
定されたチャネルをクローズする。Load_CCOMコマンド
は共通コマンド処理プログラムをローディングする。Lo
ad_APコマンドはアプリケーションユニットをローディ
ングする。システムコマンドを選択する場合チャネル番
号0を使う。
す。Open_Channelコマンドは論理チャネルをオープン
し、指定されたアプリケーションを対応付ける、そして
当該チャネル番号を返す。Close_Channelコマンドは指
定されたチャネルをクローズする。Load_CCOMコマンド
は共通コマンド処理プログラムをローディングする。Lo
ad_APコマンドはアプリケーションユニットをローディ
ングする。システムコマンドを選択する場合チャネル番
号0を使う。
【0025】図11に、Load_CCOMコマンドでロードす
る共通コマンドのロードユニット700の構成、Load_A
Pコマンドで扱うアプリケーションのロードユニット7
10の構成を示す。700は共通コマンド属性情報70
1、共通コマンド命令コード702、共通コマンド用ワ
ーク703で構成される。710は、アプリケーション
の属性情報711、アプリケーション命令コード71
2、スタティックデータS(713)、ダイナミックデ
ータD(714)で構成される。
る共通コマンドのロードユニット700の構成、Load_A
Pコマンドで扱うアプリケーションのロードユニット7
10の構成を示す。700は共通コマンド属性情報70
1、共通コマンド命令コード702、共通コマンド用ワ
ーク703で構成される。710は、アプリケーション
の属性情報711、アプリケーション命令コード71
2、スタティックデータS(713)、ダイナミックデ
ータD(714)で構成される。
【0026】図12は、コマンドデータ領域300に格
納されるコマンド情報の詳細、レスポンスデータ領域3
10に格納されるレスポンス情報の詳細である。コマン
ドデータ300はチャネル番号301、コマンド番号3
02、コマンドパラメータ303で構成される。システ
ムコマンド発行の場合、チャネル番号は0である。また
コマンド番号302でシステムコマンド、共通コマン
ド、ユーザアプリケーション専用コマンドのいずれであ
るか区別する。レスポンスデータ310はリターンコー
ド311、コマンドリターンデータ312で構成され
る。
納されるコマンド情報の詳細、レスポンスデータ領域3
10に格納されるレスポンス情報の詳細である。コマン
ドデータ300はチャネル番号301、コマンド番号3
02、コマンドパラメータ303で構成される。システ
ムコマンド発行の場合、チャネル番号は0である。また
コマンド番号302でシステムコマンド、共通コマン
ド、ユーザアプリケーション専用コマンドのいずれであ
るか区別する。レスポンスデータ310はリターンコー
ド311、コマンドリターンデータ312で構成され
る。
【0027】図13は統合セキュリティカード200の
初期化処理901を示す。統合セキュリティカード20
0の電源が入ると初期化処理901が動作する。システ
ムコマンド用ワーク領域251を初期化し(ステップ9
02)、コマンド受信241へ分岐する(ステップ90
8)。
初期化処理901を示す。統合セキュリティカード20
0の電源が入ると初期化処理901が動作する。システ
ムコマンド用ワーク領域251を初期化し(ステップ9
02)、コマンド受信241へ分岐する(ステップ90
8)。
【0028】図14はコマンド受信処理241、図15
はコマンド起動処理1100、図16は無効コマンド処
理1200、コマンド終了処理1300である。コマン
ド受信処理241では、ホストインタフェース210を
監視しコマンドが到着したか否かチェックする(ステッ
プ1001)。コマンドが到着した場合、コマンドデー
タをコマンドデータ300に取込む(ステップ100
2)。そしてコマンド起動処理1100へ分岐する(ス
テップ1003)。
はコマンド起動処理1100、図16は無効コマンド処
理1200、コマンド終了処理1300である。コマン
ド受信処理241では、ホストインタフェース210を
監視しコマンドが到着したか否かチェックする(ステッ
プ1001)。コマンドが到着した場合、コマンドデー
タをコマンドデータ300に取込む(ステップ100
2)。そしてコマンド起動処理1100へ分岐する(ス
テップ1003)。
【0029】コマンド起動処理1100では、まずチャ
ネル番号301をチェックする(ステップ1101)。
チャネル番号が0の場合システムコマンドデスパッチ2
000へ分岐する(ステップ1108)。
ネル番号301をチェックする(ステップ1101)。
チャネル番号が0の場合システムコマンドデスパッチ2
000へ分岐する(ステップ1108)。
【0030】チャネル番号が0以外の場合、チャネル番
号に対応したCHCBエントリの番号をカレントCHC
B(320)へ設定する(ステップ1102)。以後カ
レントCHCBに関して制御する。まず、当該チャネル
がオープンしているか否かチェックする(ステップ11
03)。チャネルがオープンされている場合CHCB(1,0)
にチャネル使用中のアプリケーション番号が設定されて
いる。オープンされていない場合、無効コマンド処理1
200へ分岐する(ステップ1120)。オープンされ
ている場合、コマンド番号302が共通コマンドである
か否かをチェックする(ステップ1104)。あるいは
アプリケーション専用コマンドであるか否かをチェック
する(ステップ1106)。共通コマンドの場合、CC
CB(340)をチェックする。CCCB(0)が登録有りの
状態ならばCCCB(1)から共通コマンドコードの先頭アド
レスを取得する。そして取得したアドレスへ分岐する
(ステップ1105、1109、1130)。ここで
は、図22の共通コマンドコードの先頭3000へ分岐
する。
号に対応したCHCBエントリの番号をカレントCHC
B(320)へ設定する(ステップ1102)。以後カ
レントCHCBに関して制御する。まず、当該チャネル
がオープンしているか否かチェックする(ステップ11
03)。チャネルがオープンされている場合CHCB(1,0)
にチャネル使用中のアプリケーション番号が設定されて
いる。オープンされていない場合、無効コマンド処理1
200へ分岐する(ステップ1120)。オープンされ
ている場合、コマンド番号302が共通コマンドである
か否かをチェックする(ステップ1104)。あるいは
アプリケーション専用コマンドであるか否かをチェック
する(ステップ1106)。共通コマンドの場合、CC
CB(340)をチェックする。CCCB(0)が登録有りの
状態ならばCCCB(1)から共通コマンドコードの先頭アド
レスを取得する。そして取得したアドレスへ分岐する
(ステップ1105、1109、1130)。ここで
は、図22の共通コマンドコードの先頭3000へ分岐
する。
【0031】一方、アプリケーション専用コマンドの場
合、CHCB(1,1)をチェックする。CHCB(1,1)に設定されて
いるアプリケーション命令コードの先頭アドレスを取得
し、取得したアドレスへ分岐する(ステップ1107、
1110、1130)。この例では、図25のアプリケ
ーションコードの先頭4000へ分岐する。CHCB(1,1)
にアドレスが設定されていない場合、無効コマンド処理
1200へ分岐する(ステップ1120)。
合、CHCB(1,1)をチェックする。CHCB(1,1)に設定されて
いるアプリケーション命令コードの先頭アドレスを取得
し、取得したアドレスへ分岐する(ステップ1107、
1110、1130)。この例では、図25のアプリケ
ーションコードの先頭4000へ分岐する。CHCB(1,1)
にアドレスが設定されていない場合、無効コマンド処理
1200へ分岐する(ステップ1120)。
【0032】無効コマンド処理1200では、リターン
コード311にエラーコードを設定し(ステップ120
1)、コマンド終了処理1300へ分岐する(ステップ
1202)。
コード311にエラーコードを設定し(ステップ120
1)、コマンド終了処理1300へ分岐する(ステップ
1202)。
【0033】共通コマンド処理3000あるいはアプリ
ケーション専用コマンド処理4000が終了すると、コ
マンド終了1300に分岐してくる。ここでは、レスポ
ンスデータ310に設定されているリターンコード31
1やコマンドリターンデータ312をホスト機器100
に送信する(ステップ1301)。ここで再びコマンド
受信241へ戻る。
ケーション専用コマンド処理4000が終了すると、コ
マンド終了1300に分岐してくる。ここでは、レスポ
ンスデータ310に設定されているリターンコード31
1やコマンドリターンデータ312をホスト機器100
に送信する(ステップ1301)。ここで再びコマンド
受信241へ戻る。
【0034】図17に、システムコマンドデスパッチ処
理2000を示す。まずコマンドデータ300内からコ
マンド番号302を取込む(ステップ2001)。SC
CB(360)をサーチし、コマンド番号302に対応
するシステムコマンド処理ルーチンの先頭アドレスを取
得し、取得したアドレスへ分岐する(ステップ200
2)。この例では、Open_Channel、Close_Channelなど
へ分岐する。各コマンド処理が終了したならば、コマン
ド終了1300へ分岐する(ステップ2009)。
理2000を示す。まずコマンドデータ300内からコ
マンド番号302を取込む(ステップ2001)。SC
CB(360)をサーチし、コマンド番号302に対応
するシステムコマンド処理ルーチンの先頭アドレスを取
得し、取得したアドレスへ分岐する(ステップ200
2)。この例では、Open_Channel、Close_Channelなど
へ分岐する。各コマンド処理が終了したならば、コマン
ド終了1300へ分岐する(ステップ2009)。
【0035】図18はLoad_CCOMコマンド処理2300
である。Load_CCOMコマンドは共通コマンドのロードユ
ニット700をローディングする。共通コマンドのロー
ドユニット700はコマンドデータ300内のコマンド
パラメータ303に格納されている。
である。Load_CCOMコマンドは共通コマンドのロードユ
ニット700をローディングする。共通コマンドのロー
ドユニット700はコマンドデータ300内のコマンド
パラメータ303に格納されている。
【0036】340のCCCBにおいて、CCCB(0)を登
録状態にする(ステップ2301)。そして、共通コマ
ンド命令コード702を共通コマンド動作領域263へ
格納する。(ステップ2302)。次に共通コマンド用
ワーク703のサイズを取得する(ステップ230
3)。そして、340のCCCBデータを設定する。す
なわち、CCCB(1)に共通コマンドコードへのポインタ、C
CCB(2)に共通コマンド命令コード702のサイズ、CCCB
(3)に共通コマンド用ワーク703のサイズ、CCCB(4)に
共通コマンドの属性情報701を格納する(ステップ2
304)。最後にリターンコード311に正常リターン
コードを設定し、処理を終了する(ステップ2305,
2360)。共通コマンド用のワーク領域は、後でアプ
リケーションがローディングされた時に割り振る。
録状態にする(ステップ2301)。そして、共通コマ
ンド命令コード702を共通コマンド動作領域263へ
格納する。(ステップ2302)。次に共通コマンド用
ワーク703のサイズを取得する(ステップ230
3)。そして、340のCCCBデータを設定する。す
なわち、CCCB(1)に共通コマンドコードへのポインタ、C
CCB(2)に共通コマンド命令コード702のサイズ、CCCB
(3)に共通コマンド用ワーク703のサイズ、CCCB(4)に
共通コマンドの属性情報701を格納する(ステップ2
304)。最後にリターンコード311に正常リターン
コードを設定し、処理を終了する(ステップ2305,
2360)。共通コマンド用のワーク領域は、後でアプ
リケーションがローディングされた時に割り振る。
【0037】図19はLoad_APコマンド処理2400で
ある。Load_APコマンドはアプリケーションのロードユ
ニット710をローディングする。アプリケーションの
ロードユニット710はコマンドデータ300内のコマ
ンドパラメータ303に格納されている。
ある。Load_APコマンドはアプリケーションのロードユ
ニット710をローディングする。アプリケーションの
ロードユニット710はコマンドデータ300内のコマ
ンドパラメータ303に格納されている。
【0038】330のAPCBにおいて、空きエントリを探
す。空きAPCBエントリを見つけたならば当該エントリの
APCB(1,0)を使用中状態にする(ステップ2401,2
402)。アプリケーション命令コード712とアプリ
ケーションデータS(713)を、アプリケーション動
作領域510に格納する。アプリケーション動作領域5
10に別のアプリケーションが既に格納されている場合
は、それに続いた動作領域520に格納する(ステップ
2403)。次にアプリケーションデータD(714)
を、アプリケーション用ワーク領域610に格納する。
アプリケーション用ワーク領域610に別のアプリケー
ションが既に格納されている場合は、それに続いた動作
領域620に格納する(ステップ2404)。このと
き、アプリケーションデータD(611、621)に続
いて共通コマンド用ワーク領域(612、622)を割
り振る。共通コマンド用ワークのサイズは、340のCC
CB(3)から得られる。当然、共通コマンドが未登録の場
合、共通コマンド用ワーク領域(612、622)の割
り振りはスキップする(ステップ2405)。そしてAP
CBのエントリ331に管理データを設定する。APCB(1,
1)にアプリケーション命令コード(511、521)へ
のポインタ値、APCB(1,2)にアプリケーションデータS
(512、522)へのポインタ値、APCB(1,3)にアプ
リケーションデータD(611,621)へのポインタ
値、APCB(1,4)アプリケーションデータD(611、62
1)のサイズ、 APCB(1,7)に共通コマンド用ワーク(6
12、622)へのポインタ値を設定する。および、 A
PCB(1,5)にアプリケーション名、 APCB(1,6)にアプリケ
ーション属性情報711を格納する。(ステップ240
6)。最後にリターンコード311に正常リターンコー
ドを設定し、処理を終了する(ステップ2407、24
60)。APCBの先頭にあるAPCB管理データ339にて、
アプリケーション動作領域262の空きエリアおよびア
プリケーション用ワーク領域252の空きエリアを管理
する。
す。空きAPCBエントリを見つけたならば当該エントリの
APCB(1,0)を使用中状態にする(ステップ2401,2
402)。アプリケーション命令コード712とアプリ
ケーションデータS(713)を、アプリケーション動
作領域510に格納する。アプリケーション動作領域5
10に別のアプリケーションが既に格納されている場合
は、それに続いた動作領域520に格納する(ステップ
2403)。次にアプリケーションデータD(714)
を、アプリケーション用ワーク領域610に格納する。
アプリケーション用ワーク領域610に別のアプリケー
ションが既に格納されている場合は、それに続いた動作
領域620に格納する(ステップ2404)。このと
き、アプリケーションデータD(611、621)に続
いて共通コマンド用ワーク領域(612、622)を割
り振る。共通コマンド用ワークのサイズは、340のCC
CB(3)から得られる。当然、共通コマンドが未登録の場
合、共通コマンド用ワーク領域(612、622)の割
り振りはスキップする(ステップ2405)。そしてAP
CBのエントリ331に管理データを設定する。APCB(1,
1)にアプリケーション命令コード(511、521)へ
のポインタ値、APCB(1,2)にアプリケーションデータS
(512、522)へのポインタ値、APCB(1,3)にアプ
リケーションデータD(611,621)へのポインタ
値、APCB(1,4)アプリケーションデータD(611、62
1)のサイズ、 APCB(1,7)に共通コマンド用ワーク(6
12、622)へのポインタ値を設定する。および、 A
PCB(1,5)にアプリケーション名、 APCB(1,6)にアプリケ
ーション属性情報711を格納する。(ステップ240
6)。最後にリターンコード311に正常リターンコー
ドを設定し、処理を終了する(ステップ2407、24
60)。APCBの先頭にあるAPCB管理データ339にて、
アプリケーション動作領域262の空きエリアおよびア
プリケーション用ワーク領域252の空きエリアを管理
する。
【0039】図20はOpen_Channelコマンド処理210
0である。Open_Channelコマンドは論理チャネルをオー
プンし、指定されたアプリケーションを対応付ける、そ
して当該チャネル番号を返す。
0である。Open_Channelコマンドは論理チャネルをオー
プンし、指定されたアプリケーションを対応付ける、そ
して当該チャネル番号を返す。
【0040】まず指定されたアプリケーションが使用中
のチャネルが既にオープンされているか否かチェックす
る。具体的には、350のCHCBのエントリ(351,3
52)内のCHCB(1,0)のチャネル使用中アプリケーショ
ン番号をチェックする。(ステップ2101)。既にオ
ープンしていた場合エラー終了する。オープンしていな
い場合オープン処理を行う。330のAPCBをチェック
し、指定されたアプリケーションが登録されているか否
かチェックする。登録されていない場合エラー終了す
る。(ステップ2102)。次に空きCHCBエントリ(3
51、352)を探す。空きCHCBエントリを見つけたな
らば、当該エントリのCHCB(1,0)にアプリケーション番
号を設定し当該エントリを占有する(ステップ210
3、2104)。そしてCHCBの管理データを設定する。
CHCB(1,1)にアプリケーション命令コードへのポインタ
値、CHCB(1,2)にアプリケーションデータSへのポインタ
値、CHCB(1,3)にアプリケーションデータDへのポインタ
値、CHCB(1,4)に共通コマンド用ワークへのポインタ値
を設定する。これらのCHCBへの設定値は、当該アプリケ
ーションプログラムを管理するAPCBエントリ(331、
332)から得られる。(ステップ2105)。そし
て、当該アプリケーションデータD(611、621)
および共通コマンド用ワーク(612、622)を初期
化する(ステップ2106、2107)。最後にオープ
ンしたチャンネル番号をコマンドリターンデータ31
2、リターンコード正常をリターンコード311に設定
し、処理を終了する(ステップ2108、2109、2
160)。
のチャネルが既にオープンされているか否かチェックす
る。具体的には、350のCHCBのエントリ(351,3
52)内のCHCB(1,0)のチャネル使用中アプリケーショ
ン番号をチェックする。(ステップ2101)。既にオ
ープンしていた場合エラー終了する。オープンしていな
い場合オープン処理を行う。330のAPCBをチェック
し、指定されたアプリケーションが登録されているか否
かチェックする。登録されていない場合エラー終了す
る。(ステップ2102)。次に空きCHCBエントリ(3
51、352)を探す。空きCHCBエントリを見つけたな
らば、当該エントリのCHCB(1,0)にアプリケーション番
号を設定し当該エントリを占有する(ステップ210
3、2104)。そしてCHCBの管理データを設定する。
CHCB(1,1)にアプリケーション命令コードへのポインタ
値、CHCB(1,2)にアプリケーションデータSへのポインタ
値、CHCB(1,3)にアプリケーションデータDへのポインタ
値、CHCB(1,4)に共通コマンド用ワークへのポインタ値
を設定する。これらのCHCBへの設定値は、当該アプリケ
ーションプログラムを管理するAPCBエントリ(331、
332)から得られる。(ステップ2105)。そし
て、当該アプリケーションデータD(611、621)
および共通コマンド用ワーク(612、622)を初期
化する(ステップ2106、2107)。最後にオープ
ンしたチャンネル番号をコマンドリターンデータ31
2、リターンコード正常をリターンコード311に設定
し、処理を終了する(ステップ2108、2109、2
160)。
【0041】図21はClose_Channelコマンド処理220
0である。Close_Channelコマンドは指定されたチャネ
ルをクローズする。
0である。Close_Channelコマンドは指定されたチャネ
ルをクローズする。
【0042】まず、コマンドパラメータ303からコマ
ンドパラメータを取り出す。パラメータで指定されたチ
ャンネルに対応するCHCBのエントリ(351,35
2、)内のCHCB(1,0)をチェックする(ステップ220
1)。CHCBがオープン状態ならば、CHCB(1,0)をクリア
してCHCBの占有を解除する、すなわち該当チャネルをク
ローズする(ステップ2202)。最後にリターンコー
ド正常をリターンコード311に設定し、処理を終了す
る(ステップ2203、2260)。
ンドパラメータを取り出す。パラメータで指定されたチ
ャンネルに対応するCHCBのエントリ(351,35
2、)内のCHCB(1,0)をチェックする(ステップ220
1)。CHCBがオープン状態ならば、CHCB(1,0)をクリア
してCHCBの占有を解除する、すなわち該当チャネルをク
ローズする(ステップ2202)。最後にリターンコー
ド正常をリターンコード311に設定し、処理を終了す
る(ステップ2203、2260)。
【0043】図22、図23に共通コマンド処理を示
す。共通コマンド処理プログラムは、プログラムの先頭
に共通コマンドデスパッチ処理3000を持つ。共通コ
マンドデスパッチ処理を経由してそれぞれのコマンド処
理プログラム(3100、3200)へ分岐する。
す。共通コマンド処理プログラムは、プログラムの先頭
に共通コマンドデスパッチ処理3000を持つ。共通コ
マンドデスパッチ処理を経由してそれぞれのコマンド処
理プログラム(3100、3200)へ分岐する。
【0044】コマンド起動1100が設定したカレント
CHCB(320)の値にしたがってCHCBエントリ(35
1)を選択する(ステップ3001)。そして、当該CH
CBエントリ(351)の管理する共通コマンド用ワーク
へのポインタとアプリケーションデータSへのポインタ
を選択する(ステップ3002)。これ以降、共通コマ
ンド処理プログラムは、発行元のアプリケーションに依
存した情報を格納するデータS(512)をアクセスで
きるようになる。また、オープンしている論理チャンネ
ルに依存した共通コマンド用ワーク(612)をアクセ
スできるようになる。
CHCB(320)の値にしたがってCHCBエントリ(35
1)を選択する(ステップ3001)。そして、当該CH
CBエントリ(351)の管理する共通コマンド用ワーク
へのポインタとアプリケーションデータSへのポインタ
を選択する(ステップ3002)。これ以降、共通コマ
ンド処理プログラムは、発行元のアプリケーションに依
存した情報を格納するデータS(512)をアクセスで
きるようになる。また、オープンしている論理チャンネ
ルに依存した共通コマンド用ワーク(612)をアクセ
スできるようになる。
【0045】次にコマンドデータ300内からコマンド
番号302を取り出す(ステップ3003)。そして共
通コマンド番号に対応した共通コマンド処理プログラム
(3100,3200)へ分岐する(ステップ300
4)。各コマンド処理が終了したならば、コマンド終了
1300へ分岐する(ステップ3010)。
番号302を取り出す(ステップ3003)。そして共
通コマンド番号に対応した共通コマンド処理プログラム
(3100,3200)へ分岐する(ステップ300
4)。各コマンド処理が終了したならば、コマンド終了
1300へ分岐する(ステップ3010)。
【0046】図23は共通コマンド処理プログラムの例
である。
である。
【0047】ステップ3002にて、当該CHCBエントリ
(351)の管理する共通コマンド用ワークへのポイン
タとアプリケーションデータSへのポインタを選択して
ある。したがって、共有コマンド処理プログラムはアプ
リケーションデータS内のデータ(512)、共有コマ
ンド用ワーク内のデータ(612)を自由にアクセスで
き、そのデータを使って演算処理を実行できる。(ステ
ップ3101、3102、3103、3104)。そし
て、コマンドリターンデータ312にレスポンスデータ
を設定する(ステップ3105)。最後に、リターンコ
ード311にリターンコードを設定してコマンド処理を
終了する(ステップ3106,3160)。
(351)の管理する共通コマンド用ワークへのポイン
タとアプリケーションデータSへのポインタを選択して
ある。したがって、共有コマンド処理プログラムはアプ
リケーションデータS内のデータ(512)、共有コマ
ンド用ワーク内のデータ(612)を自由にアクセスで
き、そのデータを使って演算処理を実行できる。(ステ
ップ3101、3102、3103、3104)。そし
て、コマンドリターンデータ312にレスポンスデータ
を設定する(ステップ3105)。最後に、リターンコ
ード311にリターンコードを設定してコマンド処理を
終了する(ステップ3106,3160)。
【0048】図24はアプリケーションデータS(51
2)の構成例である。データ領域の先頭にディレクトリ
512dを配置する。ディレクトリには、各データへの
ポインタを格納しておき、各データを簡単にアクセスで
きる構造とする。
2)の構成例である。データ領域の先頭にディレクトリ
512dを配置する。ディレクトリには、各データへの
ポインタを格納しておき、各データを簡単にアクセスで
きる構造とする。
【0049】図25、図26にアプリケーション専用コ
マンド処理を示す。アプリケーション専用コマンド処理
プログラムは、プログラムの先頭にアプリケーション専
用コマンドデスパッチ処理4000を持つ。アプリケー
ション専用コマンドデスパッチ処理を経由してそれぞれ
のコマンド処理プログラム(4100、4200)へ分
岐する。
マンド処理を示す。アプリケーション専用コマンド処理
プログラムは、プログラムの先頭にアプリケーション専
用コマンドデスパッチ処理4000を持つ。アプリケー
ション専用コマンドデスパッチ処理を経由してそれぞれ
のコマンド処理プログラム(4100、4200)へ分
岐する。
【0050】まず、コマンドデータ300内からコマン
ド番号302を取り出す(ステップ4001)。そして
共通コマンド番号に対応した共通コマンド処理プログラ
ム(4100,4200)へ分岐する(ステップ400
2)。各コマンド処理が終了したならば、コマンド終了
1300へ分岐する(ステップ4010)。
ド番号302を取り出す(ステップ4001)。そして
共通コマンド番号に対応した共通コマンド処理プログラ
ム(4100,4200)へ分岐する(ステップ400
2)。各コマンド処理が終了したならば、コマンド終了
1300へ分岐する(ステップ4010)。
【0051】図26アプリケーション専用コマンド処理
の例である。アプリケーションデータS(512)およ
びアプリケーションデータD(611)内のデータアド
レスを取得し(ステップ4101、4102)、それら
のデータを使って演算を実行と演算結果の保存を行う
(ステップ4103)。
の例である。アプリケーションデータS(512)およ
びアプリケーションデータD(611)内のデータアド
レスを取得し(ステップ4101、4102)、それら
のデータを使って演算を実行と演算結果の保存を行う
(ステップ4103)。
【0052】そして、コマンドリターンデータ312に
レスポンスデータを設定する(ステップ4104)。最
後に、リターンコード311にリターンコードを設定し
てコマンド処理を終了する(ステップ4105,416
0)。
レスポンスデータを設定する(ステップ4104)。最
後に、リターンコード311にリターンコードを設定し
てコマンド処理を終了する(ステップ4105,416
0)。
【0053】本発明の実施例によれば、マルチアプリケ
ーション対応のセキュアカードにて、アクティブなアプ
リケーションを複数オープンしそれらを同時に実行でき
る。また、それらのアプリケーション間で共通コマンド
処理を使える。さらに、アプリケーション間共有コマン
ドを登録削除できる。またアプリケーション専用のコマ
ンド処理プログラムも登録削除できる。
ーション対応のセキュアカードにて、アクティブなアプ
リケーションを複数オープンしそれらを同時に実行でき
る。また、それらのアプリケーション間で共通コマンド
処理を使える。さらに、アプリケーション間共有コマン
ドを登録削除できる。またアプリケーション専用のコマ
ンド処理プログラムも登録削除できる。
【0054】
【発明の効果】本発明によれば、複数のアプリケーショ
ンを並列に実行することができるため、ユーザの利便性
を向上するという効果を奏する。
ンを並列に実行することができるため、ユーザの利便性
を向上するという効果を奏する。
【図1】本発明の一実施例の全体構成図
【図2】本発明に関わる統合セキュリティカードのシス
テムブロック図
テムブロック図
【図3】統合セキュリティカードに発行されるコマンド
タイプの説明図
タイプの説明図
【図4】統合セキュリティカードのメモリマップ図
【図5】システムコマンド用ワーク領域とシステム管理
データ領域の詳細図
データ領域の詳細図
【図6】アプリケーション動作領域とアプリケーション
用ワーク領域の詳細図
用ワーク領域の詳細図
【図7】アプリケーション処理プログラムの管理テーブ
ル図
ル図
【図8】論理チャネルの管理テーブル図
【図9】システムコマンドの管理テーブル図
【図10】システムコマンドの説明図
【図11】共通コマンドとアプリケーションのロードユ
ニットの説明図
ニットの説明図
【図12】コマンドデータとレスポンスデータの説明図
【図13】統合セキュリティカードの初期化処理のフロ
ー図
ー図
【図14】コマンド受信処理のフロー図
【図15】コマンド起動処理のフロー図
【図16】無効コマンド処理、コマンド終了処理のフロ
ー図
ー図
【図17】システムコマンドデスパッチ処理のフロー図
【図18】Load_CCOMコマンド処理のフロー図
【図19】Load_APコマンド処理のフロー図
【図20】Open_Channelコマンド処理のフロー図
【図21】Close_Channelコマンド処理のフロー図
【図22】共通コマンドデスパッチ処理のフロー図
【図23】共通コマンド処理のフロー図
【図24】アプリケーションデータSの構成図
【図25】アプリケーション専用コマンドデスパッチ処
理のフロー図
理のフロー図
【図26】アプリケーション専用コマンド処理のフロー
図
図
100…ホスト機器、110,220…中央処理装置、120…メモ
リ装置、121,122…アプリケーションプログラム、123…
コマンド登録ツール、130…アダプタ、140…システムバ
ス、150…インタフェースバス、200…総合セキュリティ
カード、210…ホストインタフェース、230…バス、240
…ROM、250…RAM、260…EEPROM、270…暗号コプロセッ
サ
リ装置、121,122…アプリケーションプログラム、123…
コマンド登録ツール、130…アダプタ、140…システムバ
ス、150…インタフェースバス、200…総合セキュリティ
カード、210…ホストインタフェース、230…バス、240
…ROM、250…RAM、260…EEPROM、270…暗号コプロセッ
サ
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 片山 国弘
東京都小平市上水本町5丁目20番1号 株
式会社日立製作所半導体グループ内
(72)発明者 水島 永雅
神奈川県川崎市麻生区王禅寺1099番地 株
式会社日立製作所システム開発研究所内
Fターム(参考) 2C005 MA40 MB01 MB03 MB10 NA02
NA08 SA02 SA05 SA06 SA08
SA13 SA23 SA25 TA21 TA22
5B035 AA06 AA13 BB09 CA38
5B058 CA23 CA27 KA35
5B076 DD05 FA00
Claims (7)
- 【請求項1】ホスト機器からのコマンドに応じて、デー
タの処理及び記憶が可能なセキュリティカードにおい
て、 複数のアプリケーション間で共通に使用できる共通コマ
ンド処理プログラムの登録削除コマンドを備えたセキュ
リティカード。 - 【請求項2】1つのアプリケーションで使用できるアプ
リケーション専用コマンド処理プログラムの登録削除コ
マンドを備えた請求項1に記載のセキュリティカード。 - 【請求項3】前記アプリケーション専用コマンド処理プ
ログラムの登録削除コマンドで登録したアプリケーショ
ンプログラムのデータ部を、前記共通コマンド処理プロ
グラムの登録削除コマンドで登録した共通コマンドのコ
マンドパラメータとして使用できる請求項2に記載のセ
キュリティカード。 - 【請求項4】論理チャネル単位で、前記アプリケーショ
ン専用コマンド処理プログラムと前記共有コマンド処理
プログラムとを対応づけて管理する手段を備えた請求項
2に記載のセキュリティカード。 - 【請求項5】前記共通コマンド処理プログラムをローデ
ィングする場合に共通コマンド命令コードへのポインタ
および共通コマンド用ワークエリアのサイズを算出し記
憶装置に記憶させ、前記アプリケーション専用コマンド
処理プログラムをローディングする場合に共通コマンド
用ワークエリアをアプリケーション単位で前記記憶装置
に割付ける手段を備えた請求項2に記載のセキュリティ
カード。 - 【請求項6】論理チャネルをオープンする場合に対応す
るアプリケーション専用コマンド用ダイナミックデータ
及び共有コマンド用ワークデータを初期化する手段を備
えた請求項2に記載のセキュリティカード。 - 【請求項7】論理チャネル番号で共通コマンド用ワーク
エリアを選択し切換える手段、論理チャネル番号でアプ
リケーション用スタティックデータを選択し切換える手
段を備えた請求項2に記載のセキュリティカード。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001223775A JP2003036425A (ja) | 2001-07-25 | 2001-07-25 | セキュリティカード |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001223775A JP2003036425A (ja) | 2001-07-25 | 2001-07-25 | セキュリティカード |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2003036425A true JP2003036425A (ja) | 2003-02-07 |
Family
ID=19057049
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001223775A Pending JP2003036425A (ja) | 2001-07-25 | 2001-07-25 | セキュリティカード |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2003036425A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004264921A (ja) * | 2003-02-26 | 2004-09-24 | Sony Corp | 非接触icカードの通信システム及び通信方法 |
| JP2005196730A (ja) * | 2003-12-10 | 2005-07-21 | Toshiba Corp | 携帯可能電子装置 |
| JP2005332094A (ja) * | 2004-05-18 | 2005-12-02 | Dainippon Printing Co Ltd | アプリケーションが共通で使用するコマンドコードを備えたマルチアプリケーション型icカード |
| JP2005332083A (ja) * | 2004-05-18 | 2005-12-02 | Dainippon Printing Co Ltd | 共通コマンドアプリケーションを実装したマルチアプリケーション型icカード |
| JP2007526573A (ja) * | 2004-03-04 | 2007-09-13 | アクサルト・エス・アー | リトリーブ可能なトークン(例えば、スマートカード)内の独立した実行環境におけるアプリケーション間のセキュリティで保護されたリソース共有 |
| JP2007537533A (ja) * | 2004-05-31 | 2007-12-20 | サムスン エレクトロニクス カンパニー リミテッド | 携帯用保存装置とデバイスで多数のアプリケーションを行う方法及び装置 |
| JP2009116416A (ja) * | 2007-11-01 | 2009-05-28 | Fujitsu Microelectronics Ltd | ローダブルプログラムの認証装置 |
| JP2013526734A (ja) * | 2010-05-27 | 2013-06-24 | ジェムアルト エスアー | Nfcコントローラを用いた通信の管理方法 |
| JP2017045103A (ja) * | 2015-08-24 | 2017-03-02 | 大日本印刷株式会社 | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム |
-
2001
- 2001-07-25 JP JP2001223775A patent/JP2003036425A/ja active Pending
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8143998B2 (en) | 2003-02-26 | 2012-03-27 | Sony Corporation | Noncontact IC card communication system and communication method |
| JP2004264921A (ja) * | 2003-02-26 | 2004-09-24 | Sony Corp | 非接触icカードの通信システム及び通信方法 |
| JP2005196730A (ja) * | 2003-12-10 | 2005-07-21 | Toshiba Corp | 携帯可能電子装置 |
| JP2007526573A (ja) * | 2004-03-04 | 2007-09-13 | アクサルト・エス・アー | リトリーブ可能なトークン(例えば、スマートカード)内の独立した実行環境におけるアプリケーション間のセキュリティで保護されたリソース共有 |
| JP2013065340A (ja) * | 2004-03-04 | 2013-04-11 | Gemalto Sa | リトリーブ可能なトークン(例えば、スマートカード)内の独立した実行環境におけるアプリケーション間のセキュリティで保護されたリソース共有 |
| US8321923B2 (en) | 2004-03-04 | 2012-11-27 | Gemalto Sa | Secure sharing of resources between applications in independent execution environments in a retrievable token (e.g. smart card) |
| JP2005332094A (ja) * | 2004-05-18 | 2005-12-02 | Dainippon Printing Co Ltd | アプリケーションが共通で使用するコマンドコードを備えたマルチアプリケーション型icカード |
| JP2005332083A (ja) * | 2004-05-18 | 2005-12-02 | Dainippon Printing Co Ltd | 共通コマンドアプリケーションを実装したマルチアプリケーション型icカード |
| KR101152388B1 (ko) | 2004-05-31 | 2012-06-05 | 삼성전자주식회사 | 휴대용 저장장치와 디바이스에서 다수의 어플리케이션을수행하는 방법 및 장치 |
| US7882291B2 (en) | 2004-05-31 | 2011-02-01 | Samsung Electronics Co., Ltd. | Apparatus and method for operating plural applications between portable storage device and digital device |
| JP2007537533A (ja) * | 2004-05-31 | 2007-12-20 | サムスン エレクトロニクス カンパニー リミテッド | 携帯用保存装置とデバイスで多数のアプリケーションを行う方法及び装置 |
| JP2009116416A (ja) * | 2007-11-01 | 2009-05-28 | Fujitsu Microelectronics Ltd | ローダブルプログラムの認証装置 |
| JP2013526734A (ja) * | 2010-05-27 | 2013-06-24 | ジェムアルト エスアー | Nfcコントローラを用いた通信の管理方法 |
| JP2017045103A (ja) * | 2015-08-24 | 2017-03-02 | 大日本印刷株式会社 | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7543331B2 (en) | Framework for providing a configurable firewall for computing systems | |
| US5226155A (en) | Method and system for allocating file space in memory of ic card | |
| US20020066792A1 (en) | Concurrent communication with multiple applications on a smart card | |
| EP2809054A1 (en) | Mobile electronic device with transceiver for wireless data exchange | |
| WO1998052159A2 (en) | Multi-application ic card with delegation feature | |
| JP2001525958A (ja) | シェル特徴を有するicカード | |
| WO2005124560A1 (ja) | 情報管理装置及び情報管理方法 | |
| JP3110035B2 (ja) | 携帯可能電子装置 | |
| JP2003036425A (ja) | セキュリティカード | |
| US7303135B2 (en) | Semiconductor memory card and computer readable program | |
| US20110197203A1 (en) | Communication device, communication method and program | |
| JP2671213B2 (ja) | Icカード | |
| CN112084524B (zh) | U盘访问方法及u盘 | |
| US6866192B2 (en) | IC card terminal | |
| US7228435B2 (en) | Program executing method in service system and program executing apparatus for the same | |
| JP3017736B2 (ja) | 携帯可能電子装置 | |
| US20030150913A1 (en) | IC card terminal | |
| JP5202634B2 (ja) | Mifareメモリをデフラギングするモバイル通信装置及び方法 | |
| JP2003281487A (ja) | 携帯可能電子装置、及びアプリケーションとデータ領域をメモリ内に設ける方法 | |
| EP3962016B1 (en) | Information processing device, information processing method, and program | |
| CN107038038B (zh) | 一种运行大容量usim小应用程序的方法 | |
| JP2001052131A (ja) | Icカードおよびその発行方法ならびにプログラム | |
| KR100821167B1 (ko) | 어플리케이션 인터페이스 공유를 통한 서비스 정보 제공방법 및 장치 | |
| JP6307938B2 (ja) | Icチップ、コマンド実行方法、及びicチップ用プログラム | |
| JP3209994B2 (ja) | 携帯可能電子装置 |