JP4207409B2 - データ処理装置およびその方法 - Google Patents
データ処理装置およびその方法 Download PDFInfo
- Publication number
- JP4207409B2 JP4207409B2 JP2001262288A JP2001262288A JP4207409B2 JP 4207409 B2 JP4207409 B2 JP 4207409B2 JP 2001262288 A JP2001262288 A JP 2001262288A JP 2001262288 A JP2001262288 A JP 2001262288A JP 4207409 B2 JP4207409 B2 JP 4207409B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- module
- semiconductor circuit
- card
- 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 - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は、ICなどの集積回路を用いたサービス提供に用いられるデータ処理装置およびその方法に関する。
【0002】
【従来の技術】
現在、ICカードを用いてインターネットなどのネットワークを介した取り引きを行う通信システムが開発されている。
このような通信システムでは、ICカードを用いたサービスを提供するサービス提供者からの依頼を受けて当該サービス提供者が規定した手続き処理を実行するアプリケーションプログラムをサーバ装置が実行する。
サーバ装置は、例えばICカードのリーダ・ライタやPC(Personal Computer) から処理要求に応じて、上記アプリケーションプログラムに基づいて、ユーザ認証やデータの暗号化及び復号などの処理を行う。
【0003】
【発明が解決しようとする課題】
上述したサーバ装置上で動作するアプリケーションプログラムは、サービス提供者が設定した鍵データ、課金データおよび履歴データなどのセキュリティの高いデータを取り扱うため、不正な改竄や監視から保護したいという要請がある。
【0004】
本発明は上述した従来技術の問題点に鑑みてなされ、ICなどの集積回路を用いたサービスを提供する際に、サーバ装置上で動作するアプリケーションプログラムのセキュリティを高めることができるデータ処理装置およびその方法を提供することを目的とする。
【0005】
【課題を解決するための手段】
上述した従来技術の問題点を解決し、上述した目的を達成するために、第1の発明のデータ処理装置は、集積回路との間で通信を行ってサービスを提供するための処理手順を記述した処理手順データを含む複数のデータモジュールによってそれぞれ構成される複数のアプリケーションプログラムをそれぞれ予め決められた記憶領域に記憶し、前記データモジュールと、当該データモジュールに応じた処理において他の前記データモジュールを利用するために用いられる第1の鍵データと、当該データモジュールに応じた処理において前記集積回路とデータ授受を行うために用いられる第2の鍵データとを対応付けて示す管理データを記憶する記憶回路と、前記データモジュールに基づいて前記サービスに係わる処理を行い、当該処理において、前記管理データを参照して、当該データモジュールに対応した前記第1の鍵データを用いて前記他のデータモジュールを利用し、当該データモジュールに対応した前記第2の鍵データを用いて前記集積回路とデータの授受を行う半導体回路とを有する。
【0006】
本発明の第1のデータ処理装置の作用は以下のようになる。
半導体回路が、記憶回路から読み出したデータモジュールに基づいて前記サービスに係わる処理を行う。
半導体回路は、当該処理において、前記管理データを参照して、当該データモジュールに対応した前記第1の鍵データを用いて前記他のデータモジュールを利用する。
また、半導体回路は、当該処理において、当該データモジュールに対応した前記第2の鍵データを用いて前記集積回路とデータの授受を行う。
【0007】
また、第1の発明のデータ処理装置は、好ましくは、前記記憶回路は、前記データモジュールを用いて行われた処理の履歴データ、前記記憶領域に対して前記データモジュールを登録する手順を示したプログラムデータ、前記記憶領域から前記データモジュールの登録を削除する手順を示したプログラムデータ、並びに前記アプリケーションプログラムを記憶する前記記憶領域を規定するための手順を示したプログラムデータのうち少なくも一つを前記データモジュールとして記憶する。
【0008】
また、第1の発明のデータ処理装置は、好ましくは、前記半導体回路は、前記他のデータモジュールに応じた処理が当該半導体回路で実行される場合に、前記管理データを用いて、前記所定のデータモジュールに対応する前記第1の鍵データと、前記他のデータモジュールに対応する前記第1の鍵データとを得て、当該得た2つの第1の鍵データが一致していることを条件に、前記実行中の所定のデータモジュールから前記他のデータモジュールを利用する。
この場合に、第1の発明のデータ処理装置は、好ましくは、前記記憶回路は、前記データモジュールのそれぞれについて、当該データモジュールに関する利用について許諾する形態を示す利用許可データを記憶し、前記半導体回路は、前記2つの第1の鍵データが一致している場合に、当該他のデータモジュールに対応する前記利用許諾データを基に、当該利用許諾データによって許諾される形態で前記他のデータモジュールを利用する。
【0009】
また、第1の発明のデータ処理装置は、好ましくは、前記半導体回路は、前記他のデータモジュールに応じた処理が他の半導体回路で実行される場合に、前記管理データを用いて、前記所定のデータモジュールに対応する前記第1の鍵データを得て、当該第1の鍵データを用いて前記他の半導体回路と相互認証を行い、互いの正当性が認証されたことを条件に、前記実行中の所定のデータモジュールから前記他のデータモジュールを利用する。
この場合に第1の発明のデータ処理装置は、好ましくは、前記半導体回路は、前記互いの正当性が認証された場合に、前記他のデータモジュールに関する利用について許諾される形態を示す利用許諾データを基に、当該利用許諾データによって許諾される形態で前記他のデータモジュールを利用する。
【0010】
また、第2の発明のデータ処理方法は、集積回路との間で通信を行ってサービスを提供するための処理を行う半導体回路が記憶回路とデータ授受してデータ処理方法であって、前記記憶回路が、集積回路との間で通信を行ってサービスを提供するための処理手順を記述した処理手順データを含む複数のデータモジュールによってそれぞれ構成される複数のアプリケーションプログラムをそれぞれ予め決められた記憶領域に記憶し、前記データモジュールと、当該データモジュールに応じた処理において他の前記データモジュールを利用するために用いられる第1の鍵データと、当該データモジュールに応じた処理において前記集積回路とデータ授受を行うために用いられる第2の鍵データとを対応付けて示す管理データを記憶する場合に、前記半導体回路が、前記データモジュールに基づいて前記サービスに係わる処理を行い、前記半導体回路が、前記サービスに係わる処理において、前記管理データを参照して、当該データモジュールに対応した前記第1の鍵データを用いて前記他のデータモジュールを利用し、前記半導体回路が、前記サービスに係わる処理において、当該データモジュールに対応した前記第2の鍵データを用いて前記集積回路とデータの授受を行う。
【0011】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照して説明する。
図1は、本実施形態の通信システム1の全体構成図である。
図1に示すように、通信システム1は、サーバ装置2、ICカード3、カードリーダ・ライタ4、パーソナルコンピュータ5、ASP(Application Service Provider)サーバ装置19、SAM(Secure Application Module) ユニット9を用いて、インターネット10を介して通信を行ってICカード3(本発明の集積回路)を用いた決済処理などの手続き処理を行う。
SAMユニット9(本発明のデータ処理装置)は、外部メモリ7(本発明の記憶回路)およびSAMチップ8(本発明の半導体回路)を有する。
【0012】
SAMチップ8は、必要に応じて、他のSAMチップ8a(本発明の他の半導体回路)とデータの授受を行う。SAMチップ8aは、例えば、図2に示すようにSAMチップ8とは異なる他のASPサーバ装置19aに接続されていたり、あるいは、図3に示すように、SAMチップ8と同じASPサーバ装置19に接続されている。
SAMチップ8aの構成は、基本的にSAMチップ8と同じである。
【0013】
以下、図1に示す構成要素について説明する。
〔ICカード3〕
図4は、ICカード3の機能ブロック図である。
図4に示すように、ICカード3は、メモリ50およびCPU51を備えたIC(Integrated Circuit)3aを有する。
メモリ50は、図5に示すように、クレジットカード会社などのサービス事業者15_1が使用する記憶領域55_1、サービス事業者15_2が使用する記憶領域55_2、並びにサービス事業者15_3が使用する記憶領域55_3を有する。
また、メモリ50は、記憶領域55_1へのアクセス権限を判断するために用いられる鍵データ、記憶領域55_2へのアクセス権限を判断するために用いられる鍵データ、並びに記憶領域55_3へのアクセス権限を判断するために用いられる鍵データを記憶している。当該鍵データは、相互認証や、データの暗号化および復号などに用いられる。
また、メモリ50は、ICカード3あるいはICカード3のユーザの識別データを記憶している。
【0014】
以下、SAMユニット9について詳細に説明する。
SAMユニット9は、前述したように、外部メモリ7(本発明の記憶回路)とSAMチップ8(本発明の半導体回路)とを有する。
〔SAMチップ8のソフトウェア構成〕
SAMチップ8は、図6に示すようなソフトウェア構成を有している。
図6に示すように、SAMチップ8は、下層から上層に向けて、HW(Hardware)層、OS層、下位ハンドラ層、上位ハンドラ層およびAP層を順に有している。
下位ハンドラ層には、ドライバ層が含まれる。
ここで、AP層では、図1に示すクレジットカード会社などのサービス事業者15_1,15_2,15_3によるICカード3を用いた手続きを規定したアプリケーションプログラムAP_1,AP_2,AP_3(本発明のアプリケーションプログラム)が、外部メモリ7から読み出されて動作している。
AP層では、アプリケーションプログラムAP_1,AP_2,AP_3相互間、並びに上位ハンドラ層との間にファイアウォールFWが設けられている。
【0015】
〔外部メモリ207〕
図7は、外部メモリ7の記憶領域を説明するための図である。
図7に示すように、外部メモリ207の記憶領域には、サービス事業者15_1のアプリケーションプログラムAP_1が記憶されるAP記憶領域220_1、サービス事業者15_2のアプリケーションプログラムAP_2が記憶されるAP記憶領域220_2、サービス事業者15_3のアプリケーションプログラムAP_3が記憶されるAP記憶領域220_3、並びにSAMチップ208の管理者が使用するAP管理用記憶領域221がある。
【0016】
AP記憶領域220_1に記憶されているアプリケーションプログラムAP_1は、後述する複数のアプリケーションエレメントデータAPE(本発明のデータモジュール)によって構成されている。AP記憶領域220_1へのアクセスは、ファイアウォールFW_1によって制限されている。
AP記憶領域220_2に記憶されているアプリケーションプログラムAP_2は、複数のアプリケーションエレメントデータAPEによって構成されている。AP記憶領域220_2へのアクセスは、ファイアウォールFW_2によって制限されている。
AP記憶領域220_3に記憶されているアプリケーションプログラムAP_3は、複数のアプリケーションエレメントデータAPEによって構成されている。AP記憶領域220_3へのアクセスは、ファイアウォールFW_3によって制限されている。
本実施形態では、上記アプリケーションエレメントデータAPEは、例えば、SAMユニット9の外部から外部メモリ7にダウンロードされる最小単位である。各アプリケーションプログラムを構成するアプリケーションエレメントデータAPEの数は、対応するサービス事業者が任意に決定できる。
【0017】
また、外部メモリ7に記憶されたアプリケーションプログラムAP_1,AP_2,AP_3は、スクランブルされており、SAMチップ8に読み込まれたときに、デスクランブルされる。
また、アプリケーションプログラムAP_1,AP_2,AP_3は、例えば、それぞれ図1に示すパーソナルコンピュータ16_1,16_2,16_3を用いて、サービス事業者15_1,15_2,15_3によって作成され、SAMチップ8を介して外部メモリ7にダウンロードされる。
【0018】
以下、アプリケーションプログラムAP_1,AP_2,AP_3について詳細に説明する。
アプリケーションプログラムは、サービス事業者毎に、SAM内に単数または複数個存在する。
アプリケーションプログラムAP_1,AP_2,AP_3(以下、APとも記す)は、図8に示すように、アプリケーションプログラムAPを識別するための識別データAP_IDと、当該アプリケーションプログラムに含まれるアプリケーションエレメントデータAPEの数を示すデータAPE_NUMと、単数または複数のアプリケーションエレメントデータAPEとによって構成される。
識別データAP_IDは、サービス事業者毎に異なるように決められている。
【0019】
図8に示すように、アプリケーションエレメントデータAPEは、当該アプリケーションエレメントデータAPEのデータサイズを示すデータAPE_SIZEと、当該アプリケーションエレメントデータAPEを識別するための識別データAPE_IDと、データ本体APE_PLとで構成される。
ここで、識別データAPE_IDは、アプリケーションエレメントデータAPEの種別を示すデータAPE_TYPEと、当該種別内でのアプリケーションエレメントデータAPEの識別番号(インスタンス識別番号)を示すデータINS_NUMとで構成される。データINS_NUMは、エンドユーザ(サービス事業者)側で管理される。
例えば、アプリケーションエレメントデータAPEがファイルシステムコンフィグレーションの場合には、データAPE_TYPEが「2」となり、データINS_NUMが「1」となる。これにより、同−のSAMであれば、識別データAPE_IDにより一意にアプリケーションエレメントデータAPEを特定できる。
【0020】
図7に示す外部メモリ7には、上述したアプリケーションプログラムAP(AP_1,AP_2,AP_3)が、SAMユニット9外で暗号化鍵データK_APによって暗号化されて、アプリケーションプログラム・パッケージAPPとして記憶されている。
暗号化鍵データK_APとしては、アプリケーションプログラム毎で異なる暗号化鍵データが用いられる。
【0021】
以下、図8を用いて説明したアプリケーションエレメントデータAPEの種類について説明する。
図9は、1つのAP領域内に記憶されたアプリケーションエレメントデータAPEの一例を示す図である。
図9に示すように、AP領域内には、カードアクセス鍵データ、ファイルシステムコンフィグレーションデータ、SAM相互認証用鍵データ、SAM間鍵パッケージ鍵データ、ICカード操作用マクロコマンドスクリプトプログラム(本発明の処理手順データ)、メモリ分割用鍵パッケージ、エリア登録鍵パッケージ、エリア削除用鍵パッケージ、サービス登録用鍵データ、サービス削除用鍵パッケージ、APリソース鍵データK_APRが、アプリケーションエレメントデータAPEとして記憶されている。
【0022】
以下、図9に示す各アプリケーションエレメントデータAPEについて説明する。
・カードアクセス鍵データ
カードアクセス鍵データは、ICカード3のメモリ50に対してのデータの読み書き操作に用いられる鍵データである。また、後述するICカード操作用マクロコマンドスクリプトプログラムで参照される鍵データも、カードアクセス鍵データと同じ種別のアプリケーションエレメントデータAPEに含まれる
・ファイルシステムコンフィグレーションデータ
ファイルシステムコンフィグレーションデータとしては、例えば、ログデータ、ネガデータ、ジャーナルデータがある。
ログデータは例えばアプリケーションエレメントデータAPEの利用履歴データであり、ネガデータは例えばICカードの失効情報であり、ジャーナルデータは例えばSAMでの実行履歴である。
例えば、ファイルシステムコンフィグレーションでは、ファイルアクセスの種別(レコードキー指定・ソート・リング)の選択を行い、レコードキーの場合であれば、レコードサイズ、レコード全体件数・レコード署名バージョン・レコード署名メソッドタイプ、レコードデータサイズ、レコード署名鍵を設定する。さらに、外部から本ファイルシステムにデータを書き込む際に署名検証を実施するかの有無の指定などを行う。ここでレコードとは、ファイルデータへの書き込み/読み出しの最小単位である。
【0023】
・SAM相互認証用鍵データ
同一SAM内にあるAP間相互認証にも使用される。
SAM相互認証用鍵データとは、対応するアプリケーションエレメントデータAPEを同一SAM内の他のAPまたは他のSAMからアクセスする際に用いられる鍵データである。
・SAM間鍵パッケージ鍵
SAM間鍵パッケージ鍵とは、SAM間での相互認証後、カードアクセス鍵データなどのデータを交換する際に用いられる暗号化用鍵データである。
・ICカード操作用マクロコマンドスクリプトプログラム
ICカード操作用マクロコマンドスクリプトプログラムは、サービス事業者自身によって生成され、ICカード3に係わる処理の順番やASPサーバ装置19とのやり取りを記述している。ICカード操作用マクロコマンドスクリプトプログラムは、SAMユニット9に設定された後に、SAMチップ8内で解釈され、対応するICカードエンティティデータが生成される。
・メモリ分割用鍵パッケージ
メモリ分割用鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、外部メモリ7のやICカード3のメモリの記憶領域を分割するために使用するデータである。
・エリア登録鍵パッケージ
エリア登録鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、ICカード3のメモリの記憶領域にエリア登録を行う場合に使用するデータである。
・エリア削除用鍵パッケージ(内部生成)
エリア削除用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
・サービス登録用鍵(内部生成)
サービス登録用鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、外部メモリ7のアプリケーションエレメントデータAPEを登録するために用いられる。
サービス登録用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
・サービス削除用鍵パッケージ(内部生成)
サービス削除用鍵パッケージは、外部メモリ7に登録されているアプリケーションエレメントデータAPEを削除するために用いられる。
サービス削除用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
・鍵データK_APE
鍵データK_APEは、アプリケーションエレメントデータAPEを設定する際の暗号用鍵として使用され、AP領域毎に、アプリケーションエレメントデータAPEを設定するために異なる鍵データK_APEが割り当てられている。
【0024】
以下、上述したICカード操作用マクロコマンドスクリプトプログラム(以下、スクリプトプログラムとも記す)について詳細に説明する。
スクリプトプログラムは、SAMチップ8上で動作するサービス事業者15_1,15_2,15_3のアプリケーションプログラムAP_1,AP_2,AP_3、並びに当該アプリケーションプログラムの実行時にICカード3が行う処理の手続きを規定するためのプログラムである。
本実施形態では、後述するように、図10に示すように、SAMチップ8内で、スクリプトダウンロードタスク69およびスクリプト解釈タスク70に基づいて処理を行い、AP管理テーブルデータおよびスクリプトプログラムから、サービス事業者15_1,15_2,15_3に関する手続きに用いられるICカードエンティティテンプレートデータ30_1、入力用データブロック31_x1、出力用データブロック32_x2、ログ用データブロック33_x3および演算定義用データブロック34_x4を生成する。
【0025】
図11は、ICカード操作用マクロコマンドスクリプトプログラムの記述に用いられるコマンドを説明するための図である。
当該コマンドは、SAMチップ8自身に対してのコマンドは、第1文字が「S」となり、ICカード3の操作に係わるコマンドは第1文字が「C」となっている。
また、第2文字は、用途により使い分けられ、例えば、ICカード3の発行元設定宣言は「I」、利用するアプリケーションエレメントデータAPEの宣言(サービスタイプエレメント宣言)は「S」、ICカード3からの単純読み込み宣言は「R」、ICカード3への単純書き込み宣言は「W」、アプリケーションエレメントデータAPE間演算定義は「F」になっている。
【0026】
スクリプトプログラム21_1,21_2,21_3の記述に用いられるコマンドには、SCコマンド、SOコマンド、SIコマンド、SLコマンド、SFコマンド、CIコマンド、CSコマンド、CRコマンド、CWコマンドがある。
SCコマンドは、SAMチップ8が同時に処理することができる最大数のICカードエンティティデータの数を宣言するコマンドである。
例えば、SAMチップ8が1000個のICカードエンティティデータを同時に処理可能な場合には、「SC:1000」と記述される。
【0027】
SOコマンドは、後述するICカードエンティティデータに基づいてICカード3を用いた処理を行う際に、SAMチップ8内で用意されたデータブロックのうち、ICカード3から読み取ったデータが格納される出力用データブロック32_x2となるデータブロックを宣言するコマンドである。
例えば、データブロック1〜10が用意されている場合に、ICカード3から読み取ったデータをデータブロック1に格納する場合には、「SO:1」と記述される。
【0028】
SIコマンドは、後述するICカードエンティティデータに基づいてICカード3を用いた処理を行う際に、SAMチップ8内で用意されたデータブロックのうち、ICカード3に書き込むデータが格納される入力用データブロック31_x1となるデータブロックを宣言するコマンドである。
例えば、データブロック1〜10が用意されている場合に、ICカード3に書き込むデータをデータブロック2,3に格納する場合には、「SI:2,3」と記述される。
【0029】
SLコマンドは、後述するICカードエンティティデータに基づいてICカード3を用いた処理を行う際に、SAMチップ8内で用意されたデータブロックのうち、操作に係わるログデータを格納するログ用データブロック33_x3となるデータブロックを宣言するコマンドである。
例えば、データブロック1〜10が用意されている場合に、ログデータをデータブロック4に格納する場合には、「SL:4」と記述される。
【0030】
SFコマンドは、ICカード3に係わる相互のアプリケーションエレメントデータAPE間の関係を定義を記述する演算定義用データブロック34_x4となるデータブロックを用意するためのコマンドである。
演算定義用データブロック34_x4の内容は、ICカードエンティティデータの処理前データとなる。
【0031】
CIコマンドは、ICカード3の発行元(サービス事業者)を宣言するためのコマンドである。
CIコマンドで定義されたサービス事業者を特定するデータは、ICカードエンティティデータのICカード種別データとなる。
【0032】
CSコマンドは、アプリケーションエレメントデータAPE(サービスタイプエレメント)の名前APE_Nを引用して、ICカード3への複数のサービスの同時操作を行うことを宣言するコマンドである。CSコマンドでは、名前APE_Nによって指定されたアプリケーションエレメントデータAPE間の演算を規定する関数を宣言できる。
例えば、「CS:”Rc”+”Wc”+”Wd”」などの宣言を行える。
CSコマンドの内容に基づいて、ICカードエンティティデータのAPE_N指定データ、並びに処理順番データが決定される。
【0033】
CRコマンドは、アプリケーションエレメントデータAPE間の関係の定義が行われていない場合(SFコマンドが記述されていない場合)に、ICカード3から読み出したデータを指定したデータブロックに格納することを宣言する。
例えば、ICカード3から読み出したデータをデータブロック1に格納する場合には「CR:SO:1=”Rc”」と記述する。
【0034】
CWコマンドは、アプリケーションエレメントデータAPE間の関係の定義が行われていない場合に、指定したデータブロックに格納したデータをICカード3に書き込むことを宣言する。
例えば、データブロック2に格納されたデータをICカード3に書き込む場合には「CW:SI:2=”Wc”」と記述する。
【0035】
CFコマンドは、サービスを跨がった演算内容を記述するデータブロックを宣言する。
例えば、サービスを跨がった演算内容をSFデータブロック1に記述する場合には、CF:CES_FUNC=SF:1」とする。
そして、SFデータブロック1内に、例えば、「“Wc”=If(“Wc”>10)then(“Wc”−10;“Wd”=“Wc”*0.08+“Wd”)」と記述する。本式は、サービスWcの残数が10よりも大きいときにWcの値を10減算し、Wcの8%に相当するポイント数として蓄積ポイントとしてWdに加算する操作を表現している。
【0036】
以下、図7に示す外部メモリ7のAP管理用記憶領域221に記憶されたデータについて説明する。
AP管理用記憶領域221へのアクセスは、ファイアウォールFW_4によって制限されている。
なお、ファイアウォールFW_4は、図6に示すファイアウォールFWに対応している。
図12は、AP管理用記憶領域221に記憶されているデータの詳細を説明するための図である。
AP管理用記憶領域221には、図12に示すように、AP管理用テーブルデータ300_1,300_2,300_3(本発明の管理データ)と、APPテーブルデータ310_1,310_2,310_3(本発明の利用許諾データ)とが記憶されている。
ここで、AP管理用テーブルデータ300_1,300_2,300_3と、APPテーブルデータ310_1,310_2,310_3は、例えば、SAMチップ8のセットアップ時に予め登録されている。また、AP管理用テーブルデータ300_1,300_2,300_3と、APPテーブルデータ310_1,310_2,310_の書き換えは、SAMチップ8の管理者のみが行える。
【0037】
AP管理用テーブルデータ300_1,300_2,300_3は、アプリケーションプログラムAP毎に規定されている。
また、APPテーブルデータ310_1,310_2,310_3は、SAM相互認証鍵データ毎に規定されている。
【0038】
図13は、AP管理用テーブルデータ300_1を説明するための図である。
AP管理用テーブルデータ300_2,300_3も、AP管理用テーブルデータ300_1と同じフォーマットを有している。
図13に示すように、ICカード操作用マクロコマンドスクリプトプログラム内で用いられる参照されるアプリケーションエレメントデータAPEの名前APE_Nのそれぞれについて、識別データAPE_ID、内部/外部指定データIEI、識別データSAM_ID、識別データAP_ID、鍵データK_CARDA(本発明の第2の鍵データ)、鍵データK_SAM(本発明の第1の鍵データ)、データSET_APP、データFLAG_IPおよびデータFLAG_STRを対応付けて示している。
アプリケーションエレメントデータAPEの名前APE_Nは、サービス事業者15_1,15_2,15_3のアプリケーションプログラムによって提供されるサービス(アプリケーションエレメントデータAPE)に付けられた名前である。名前APE_Nは、各サービス事業者のアプリケーションプログラムが使用できるサービスのサービス番号の替わりに参照される識別子である。
【0039】
ここで、識別データAPE_IDは、アプリケーションエレメントデータAPEの識別データである。
内部/外部指定データIEIは、APEが実体として存在するのか(内部指定)、あるいは他のSAMから参照するのか(外部指定)を区別するフラグである。
識別データSAM_IDは、SAMチップ8が当該アプリケーションエレメントデータAPEに係わる処理を行う際にデータ授受を行う相手側のSAMの識別データである。
図14は、SAM_IDを説明するための図である。
SAM_IDは、4バイトのデータであり、TCP/IPに類似したネットマスクの概念を有している。ネットマスクはビット単位での設定が可能である。
例えば、当該ネットマスクは、図14に示すように、Aクラス、BクラスおよびCクラスの3種類に分類される。そして、同一のネットマスクが割り当てられたSAM相互間では、相互認証に使用する鍵データは1種類でよい。本実施形態では、例えば、同一のサービス事業者に同一のネットマスクが割り当てられる。
図14において、Aクラスのネットマスクは、「255.XX.XX.XX」で示され、上位1バイトに当該クラスを特定するための所定の値が割り当てられ、下位3バイトに、当該クラスに属する個々のSAMを特定するための値が割り当てられる。ここで、「XX」には任意の値を設定できる。すなわち、Aクラスのネットマスクによって、当該Aクラスに属する16777215個のSAM_IDを規定できる。
また、Bクラスのネットマスクは、「255.255.XX.XX」で示され、上位2バイトに当該クラスを特定するための所定の値が割り当てられ、下位2バイトに、当該クラスに属する個々のSAMを特定するための値が割り当てられる。すなわち、Bクラスのネットマスクによって、当該Bクラスに属する65535個のSAM_IDを規定できる。
また、Cクラスのネットマスクは、「255.255.255.XX」で示され、上位3バイトに当該クラスを特定するための所定の値が割り当てられ、下位1バイトに、当該クラスに属する個々のSAMを特定するための値が割り当てられる。すなわち、Cクラスのネットマスクによって、当該Cクラスに属す255個のSAM_IDを規定できる。
【0040】
識別データAP_IDは、SAMチップ8が当該アプリケーションエレメントデータAPEに係わる処理を行う際にデータ授受を行う相手側のSAMで実行されるアプリケーションプログラムの識別データである。
鍵データK_CARDAは、SAMチップ8が当該アプリケーションエレメントデータAPEに係わる処理を行う際にICカード3のメモリ50とデータ授受を行うために用いられる鍵データである。
【0041】
鍵データK_SAMは、SAMチップ8が当該アプリケーションエレメントデータAPEに係わる処理を行う際に、他のSAMとデータ授受を行うために用いられる鍵データである。
データSET_APPは、SAMチップ8が当該アプリケーションエレメントデータAPEに係わる処理を行う際に用いられる(参照される)APPテーブルデータ310_1,310_2,310_3を特定するためのデータである。
【0042】
データFLAG_IPは、SAMチップ8が管理(保持)するデータを他のSAMチップ8などに公開するか否かを示すフラグデータである。
データFLAG_STRは、SAMチップ8が管理(保持)するデータを他のSAMチップ8などが保持することを許可するか否かを示すフラグデータである。
【0043】
図13において、APE_N「ServiceA」は、該当SAM8内のアプリケーションプログラムで定義されたICカード3のアクセス鍵である。「ServiceA」の鍵データは非公開に設定しているため、他のSAM上のアプリケーションプログラムや本SAM上の他のアプリケーションプログラムは、参照することができない。
また、「ServiceC」は、本アプリケーションプログラムで定義されたICカード3のアクセス鍵である。本SAMに後述するCクラスのネットマスクが割り当てられている場合には、「ServiceC」の鍵データは「43.17.19.XX」のSAM_IDを持つSAM上のアプリケーションプログラムに公開される。この際SAM相互認証用鍵は「TT1….TTn」、また他のSAMが「ServiceC」の鍵データを次回利用時まで保持可能かの可否を決定する。可の場合には、他のSAMがカード上の「ServiceC」を次回利用するときに、本SAMから再度カードアクセス鍵を入手する必要は無い。ServiceBのアクセス鍵は本SAMではなく、「43.13.137.XX」のSAM_IDを持つSAMから入手する。SAM間の相互認証用鍵として「SS1…SSn」を使用する。
「ServiceB」のアクセス鍵を次回利用時まで保持可能の有無は先方のSAMが指定する可否フラグにより決定する。
「ServiceB Log」は、「43.13.137.XX」のSAM_IDが割り当てられたログデータが格納されたファイルを指す。「ServiceB Log」は、「ServiceB」と同一SAMネットマスクであるため、相互認証用鍵は「SS1…SSn」を使用する。ここで、相互認証鍵毎にAPPテーブルデータが設けられている。本例では、「ServiceB log」および「ServiceB」へのアクセス許可は他のSAM上のAP管理用テーブルデータが参照する他のSAMのAPPテーブルデータ310で規定されている。
【0044】
図15は、APPテーブルデータ310_1を説明するための図である。
APPテーブルデータ310_2,310_3、310は、APPテーブルデータ310_1と同じフォーマットを有している。
図15に示すように、APPテーブルデータ310_1は、各アプリケーションエレメントデータAPEについて、その識別データAPE_IDと、当該アプリケーションエレメントデータAPEに対して他のアプリケーションプログラム(他のアプリケーションエレメントデータAPE)から読み出し(READ)、書き込み(WRITE)および実行(EXCUTE)が可能であるか否かを示している。
【0045】
例えば、図15に示すAPPテーブルデータ310_1は、「ServiceB log」については読取りが可、書込みが可、実行(削除)が不可を示している。
【0046】
また、図7に示す外部メモリ7のAP管理用記憶領域221は、例えば、ICカード種別データとAP_IDとを対応付けて示すAP選択用データを記憶している。
ICカード種別データは、図1に示すICカード3の種別を示し、例えば、ICカード3を用いた取り引きの決済を行うクレジットカード会社の識別データである。
【0047】
本実施形態では、ICカード操作用マクロコマンドスクリプトプログラム内に複数のアプリケーションエレメントデータAPEの名前APE_Nを組み合せたサービス内容を規定(記述)し、これを後述するICカードエンティティデータ(ジョブ管理用データ)に反映させることで、複数のアプリケーションエレメントデータAPEに対応するサービスを組み合わせたをサービスを提供できる。
例えば、ICカード3からデータ読出しを行うサービスと、サーバ装置2にデータ書込みを行うサービスとを組み合わせたサービスを、ICカードエンティティデータ内に定義できる。
【0048】
また、APE_Nあるいはそのサービス番号は、サービス事業者15_1,15_2,15_3によって提供されるサービスを行う際に、ICカード3に発行するICカード3が解釈可能な操作コマンドである。
【0049】
アプリケーションプログラムAP_1は、外部メモリ7に記憶されたAP管理用テーブルデータ300_1および所定のICカード操作用マクロコマンドスクリプトプログラムによって規定される。
アプリケーションプログラムAP_2は、外部メモリ7に記憶されたAP管理用テーブルデータ300_2および所定のICカード操作用マクロコマンドスクリプトプログラムによって規定される。
アプリケーションプログラムAP_3は、外部メモリ7に記憶されたAP管理用テーブルデータ300_3および所定のICカード操作用マクロコマンドスクリプトプログラムによって規定される。
【0050】
〔SAMチップ8〕
SAMチップ8は、SCSIまたはEthernetなどを介してASPサーバ装置19に接続される。ASPサーバ装置19は、インターネット10を介して、エンドユーザのパーソナルコンピュータ5、サービス事業者15_1,15_2,15_3のパーソナルコンピュータ16_1,16_2,16_3を含む複数の端末装置に接続される。
パーソナルコンピュータ5は、例えば、シリアルまたはUSBを介してDumb型のカードリーダ・ライタ4に接続されている。カードリーダ・ライタ4が、ICカード3との間で物理レベルに相当する例え無線通信を実現する。
ICカード3への操作コマンドおよびICカード3からのリスポンスパケットは、SAMユニット9側で生成および解読される。よって、その中間に介在するカードリーダ・ライタ4、パーソナルコンピュータ5およびASPサーバ装置19は、コマンドやリスポンス内容をデータペイロード部分に格納して中継する役割を果たすのみで、ICカード3内のデータの暗号化や復号および認証などの実操作には関与しない。
【0051】
パーソナルコンピュータ16_1,16_2,16_3は、後述するスクリプトプログラムをSAMチップ8にダウンロードすることで、それぞれアプリケーションプログラムAP_1,AP_2,AP_3をカスタマイズできる。
【0052】
図16は、図1に示すSAMチップ8の機能ブロック図である。
図16に示すように、SAMチップ8は、ASPS通信インタフェース部60、外部メモリ通信インタフェース部61、バススクランブル部62、乱数発生部63、暗号・復号部64、メモリ65およびCPU66を有する。
SAMチップ8は、耐タンパ性のモジュールである。
【0053】
ASPS通信インタフェース部60は、図1に示すASPサーバ装置19との間のデータ入出力に用いられるインタフェースである。
外部メモリ通信インタフェース部61は、外部メモリ7との間のデータ入出力に用いられるインタフェースである。
バススクランブル部62は、外部メモリ通信インタフェース部61を介してデータを入出力する際に、出力するデータをスクランブルし、入力したデータをデスクランブルする。
乱数発生部63は、認証処理を行う際に用いられる乱数を発生する。
暗号・復号部64は、データの暗号化、並びに暗号化されたデータの復号を行う。
メモリ65は、後述するように、CPU66によって用いられるタスク、プログラム、並びにデータを記憶する。
CPU66は、後述するスクリプトダウンロードタスク、スクリプト解釈タスク、エンティティ生成タスク(ジョブ管理用データ作成タスク)およびICカード手続管理タスク(ジョブ管理用データ管理タスク)などのタスクを実行する。
【0054】
以下、メモリ65に記憶されるタスク、プログラムおよびデータについて説明する。
図17は、メモリ65に記憶されるタスク、プログラムおよびデータを説明するための図である。
図17に示すように、スクリプトダウンロードタスク69、スクリプト解釈タスク70、エンティティ生成タスク71、ICカード手続管理用タスク72、ICカード操作用マクロコマンドスクリプトプログラム21_1〜21_3、AP管理用テーブルデータ300_1〜300_3、APPテーブルデータ310_1〜310_3、ICカードエンティティテンプレートデータ30_1〜30_3、ICカードエンティティデータ73_x、入力用データブロック31_x1、出力用データブロック32_x2、ログ用データブロック33_x3、並びに演算定義用データブロック34_x4を記憶している。
【0055】
スクリプトダウンロードタスク69は、図10に示すように、AP管理用テーブルデータ300_1〜300_3(必要に応じてAPPテーブルデータ310_1〜310_3)を、例えば、各サービス事業者のコンピュータからダウンロードし、これをSAMチップ8に取り込む。
【0056】
スクリプト解釈タスク70は、各サービス事業者毎に、サービス定義テーブルデータ(必要に応じてAPPテーブルデータ310_1〜310_3)およびスクリプトプログラムを用いて、ICカードエンティティテンプレートデータ、入力用データブロック、出力用データブロック、ログ用データブロックおよび演算定義用データブロックを生成する。
各サービス事業者毎に生成されるデータブロックの数は特に限定されない。
【0057】
エンティティ生成タスク71は、例えば、ASPサーバ装置19からエンティティ作成要求を受けると、ICカード3との間でポーリングを行った後に、当該ICカード3とサービス事業者との間の手続き処理に用いるICカードエンティティデータを、当該サービス事業者に対応するICカードエンティティプレートデータを用いて生成する。このとき、ICカードエンティティプレートデータがクラスとなり、当該クラスのインスタンスとして、ICカードエンティティデータが生成される。
エンティティ生成タスク71によるICカードエンティティデータの生成処理について後に詳細に説明する。
【0058】
ICカード手続管理用タスク72は、メモリ65内に存在する単数または複数のICカードエンティティデータ73_xを用いて、ICカード3とサービス事業者15_1〜15_3との間の手続き処理を実行する。
本実施形態では、複数のICカード3とサービス事業者15_1〜15_3との間で行われる複数の手続き処理が同時に進行する。
ICカード手続管理用タスク72は、これら複数の手続き処理を並行して実行する。
ICカード手続管理用タスク72は、一連の手続きを終了したICカードエンティティデータ73_xを消去する。
ICカード手続管理用タスク72の処理については後に詳細に説明する。
【0059】
スクリプトプログラム21_1〜21_2は、スクリプトダウンロードタスク69によって、例えば、外部メモリ7から入力され、メモリ65に記憶される。
AP管理用テーブルデータ300_1〜300_3は、スクリプトダウンロードタスク69によって、例えば、外部メモリ7から入力され、メモリ65に記憶される。
APPテーブルデータ310_1〜310_3は、スクリプトダウンロードタスク69によって、例えば、外部メモリ7から入力され、メモリ65に記憶される。
【0060】
ICカードエンティティテンプレートデータ30_1〜30_3は、スクリプト解釈タスク70によって生成され、それぞれのサービス事業者に関する手続きのICカードエンティティデータ73_xを生成する際のテンプレート(クラス)として用いられる。
ICカードエンティティデータ73_xは、エンティティ生成タスク71によって、ICカードエンティティテンプレートデータ30_1〜30_3を例えばクラスとして用い、当該クラスのインスタンスとして生成される。
【0061】
入力用データブロック31_x1、出力用データブロック32_x2、ログ用データブロック33_x3および演算定義用データブロック34_x4は、スクリプト解釈タスク70によって生成される。
【0062】
以下、ICカードエンティティデータ73_xについて説明する。
ICカードエンティティデータ73_xは、例えば、ASPサーバ装置19からICカード3と所定のサービス事業者のアプリケーションプログラムを用いた処理の処理要求をSAMチップ8が受けたときに、SAMチップ8内のエンティティ生成タスク71が、既に生成されている対応するサービス事業者のICカードエンティティプレートデータを用いて生成する。
【0063】
図18は、ICカードエンティティデータ73_xのフォーマットを説明するための図である。
図18に示すように、ICカードエンティティデータ73_xは、管理用ポインタデータ80、エンティティIDデータ81、エンティティステータスデータ(ステータスデータ)82、ICカード種別データ83、APE_N指定データ84、処理順番データ85、処理前データ86および処理後データ87を有する。
【0064】
管理用ポインタデータ80には、メモリ65内でICカードエンティティデータ73_xを管理するための双方向ポインタである。
エンティティIDデータ81は、ICカードエンティティデータ73_xの生成要求、進行状況の確認、削除などのICカードエンティティデータ73_xを用いた一連の処理に用いられる。エンティティIDデータ81は、エンドユーザに渡される返り値ともなる。エンティティIDデータ81は一般的なファイルシステム上のファイルオープン時のディスクリプタに相当する。
【0065】
エンティティステータスデータ82は、ICカード3に関する手続きの進行状態を示す。
ICカードエンティティデータ73_xが持つ基本的な状態には、図19に示すように、ICカード3が利用できるサービスを調べる処理の状態(RS)、SAMチップ8がICカード3を認証する処理の状態(A1)、ICカード3がSAMチップ8を認証する処理の状態(A2)、ICカード3からデータ読み出す処理の状態(R)、ICカード3にデータ書き込む処理の状態(W)がある。
本実施形態では、サービス事業者を調べる処理、SAMチップ8がICカード3を認証する処理、ICカード3がSAMチップ8を認証する処理、ICカード3からデータ読み出す処理、並びにICカード3にデータ書き込む処理のそれぞれがジョブに対応している。
当該ジョブは、後述するように、ICカード手続管理用タスク72によって、実行順番が決定される処理の単位になる。
なお、A1,A2によって、ICカード3とSAMチップ8との間の相互認証処理が構成される。
【0066】
また、本実施形態では、インターネット10での通信時間を考慮して、前述した各基本的な状態を図19の状態遷移図に示されるように、起動後(コマンド発行後)の状態と完了(応答受け取り後)状態とに分けて管理する。
具体的には、インスタンス生成(ICカードエンティティデータ生成)状態、RS起動後状態、RS完了状態、A1起動後状態、A1完了状態、A2起動後状態、A2完了状態、R起動状態、R完了状態、W起動状態、W完了状態、並びにインスタン(ICカードエンティティデータ)消去状態によって、ICカードエンティティデータ73_xを用いた処理状態が管理される。
【0067】
ICカード種別データ83は、当該ICカード3を発行したサービス事業者を特定するデータである。
ICカード種別データ83には、ICカードエンティティデータ73_xの生成時に、前述したスクリプトプログラム内のCIコマンドによって規定されたデータが設定される。
【0068】
サービスタイプエレメントデータ84は、ICカードエンティティデータ73_xを用いた処理で利用する、AP管理用テーブルデータ300_1〜300_3およびAPPテーブルデータ310_1〜310_3内で定義されたアプリケーションエレメントデータAPEを示す。
サービスタイプエレメントデータ84には、ICカードエンティティデータ73_xの生成時に、前述したスクリプトプログラム内のCSコマンドで指定された単数または複数のアプリケーションエレメントデータAPEが設定される。
【0069】
処理順番データ85は、ICカードエンティティデータ73_xを用いた処理で利用するサービス(ジョブ)を実行する順番、すなわち、図19に示す遷移状態を示す。
すなわち、処理順番データ85は、アプリケーションエレメントデータAPEの名前APE_Nを用いて、ICカード3の基本的な操作に対応するジョブの実行順番を示す。
ここで、ジョブは、前述したように、図19に示すRS,A1,A2,R,Wに相当する。ICカード3への具体的操作は、ジョブを用いて指定された処理順番により実現される。例えば、相互認証無しの読み込みのみのICカード3を用いた処理については、処理順番データ85には「RS→R」が設定される。また、相互認証有りの読み込みおよび書き込みの場合には、処理順番データ85には、「RS→A1→A2→R→W」が設定される。
処理順番データ85には、ICカードエンティティデータ73_xの生成時に、前述したスクリプトプログラム内のCSコマンド内で指定されたサービスエレメントの順番に対応する図12に示すジョブの順番が設定される。
【0070】
処理前データ86には、ASPサーバ装置19側から、ICカードエンティティデータ73_xを用いた処理を行うための管理用データが設定される。。
例えば、処理前データ86には、SFデータブロック内に指定されたサービス(アプリケーションエレメントデータAPE)の演算式のポイントが設定される。
また、サービス間演算機能が定義されていない場合には、処理前データ86には、要求処理金額が設定される。
例えば、決済の場合であれば、課金額や付与ポイント数などに関する状態が設定される。
【0071】
処理後データ87は、ASPサーバ装置19側で必要な、ICカードエンティティデータ73_xの処理結果のデータが設定される。例えば決済の場合であれば、決済の正常終了の有無などを示すデータが設定される。
【0072】
以下、図17に示すICカード手続管理用タスク72による、複数のICカードエンティティデータ73_xを用いて、複数のICカード3に係わる処理を行う手順を説明する。
ICカード手続管理用タスク72は、例えば、図16に示すSAMチップ8のCPU66上で常に起動されている。
図20は、ICカード手続管理用タスク72が行う処理のフローチャートである。
ステップST1:
ICカード手続管理用タスク72は、メモリ65内に存在する複数のICカードエンティティデータ73_xのうち、次に処理を実行する一つのICカードエンティティデータ73_xを選択する。
当該ICカードエンティティデータ73_xの選択方法は、メモリ65内に存在するICカードエンティティデータ73_xを順番に選択してもよいし、優先順位を付けて高い優先順位のものを優先的に選択してもよい。
【0073】
ステップST2:
ICカード手続管理用タスク72は、ステップST1で選択したICカードエンティティデータ73_xのジョブが既に起動されているか否かを判断し、起動されていると判断した場合にはステップST5の処理に進み、起動されていないと判断した場合にはステップST3の処理に進む。
【0074】
ステップST3:
ICカード手続管理用タスク72は、ステップST1で選択したICカードエンティティデータ73_xの図18に示すエンティティステータスデータ82から、当該エンティティデータに関する処理が図19に示す状態遷移図の何れの状態にあるかを判断し、処理順番データ85から、次に実行するジョブを決定する。
このとき処理順番データ85には、前述したように、AP管理用テーブルデータ300_1〜300_3に設定されたサービスエレメントを用いてジョブの実行順番が規定されている。
【0075】
ステップST4:
ICカード手続管理用タスク72は、ステップST3で選択したジョブを起動する。
ICカード手続管理用タスク72は、図17を用いて前述した入力用データブロック31_x1、出力用データブロック32_x2、ログ用データブロック33_x3および演算定義用データブロック34_x4のうち、当該ジョブに関係するデータブロックを用いて当該ジョブを実行する。
【0076】
このとき、ICカード手続管理用タスク72は、ジョブの実行に当たってICカード3にコマンドを発行する場合に、当該ジョブに対応するサービスエレメントをキーとしてAP管理用テーブルデータ300_1〜300_3を検索し、当該サービスエレメントに対応するサービス番号(ICカード3が解釈可能なICカード3の操作コマンド)を得る。そして、ICカード手続管理用タスク72は、当該得られたサービス番号を用いてICカード3にコマンドを発行する。
また、ICカード手続管理用タスク72は、図5を用いて説明したように、ICカード3のIC3aの記憶領域へのアクセスに鍵データが必要な場合には、当該ジョブに対応するサービスエレメントをキーとしてAP管理用テーブルデータ300_1〜300_3を検索し、当該サービスエレメントに対応する鍵データを得る。そして、ICカード手続管理用タスク72は、当該鍵データを用いて、ICカード3との間で相互認証、データの暗号化および復号などの処理を行い、ICカード3の所定の記憶領域にアクセスを行う権限を得る。
【0077】
ステップST5:
ステップST5が行われるのは、ICカード手続管理用タスク72が、ICカード3にコマンドを発行し、ICカード3の処理結果を待っているときである。
ICカード手続管理用タスク72は、ICカード3から処理結果を受け取ると、これをICカードエンティティデータ73_xに設定する。
【0078】
ステップST6:
ICカード手続管理用タスク72は、図18に示すICカードエンティティデータ73_xのエンティティステータスデータ82を更新する。
【0079】
このように、本実施形態では、ICカード手続管理用タスク72によって、SAMチップ8内に存在する複数のICカード3についてのICカードエンティティデータ73_xを順に選択しながら、複数のICカード3についての処理を並行して行う。そのため、SAMチップ8は、複数のICカード3を用いた手続きの処理要求を受けた場合でも、これらの処理を同時に進行することができる。
【0080】
図21および図22は、上述した図20のステップST4におけるジョブの実行時に、前述したSAMチップ8がアプリケーションエレメントデータAPEに規定された手順に従って、他のアプリケーションエレメントデータAPEによって規定された処理またはデータにアクセスを行う場合の処理を説明するための図である。
ステップST41:
SAMチップ8が、所定のアプリケーションエレメントデータAPEに応じた処理を実行中に、利用(アクセス)を行うアプリケーションプログラムと、当該アプリケーションプログラム内のアプリケーションエレメントデータAPEとを特定する。
また、当該利用が、当該アプリケーションエレメントデータAPEの読み出し、書き込みおよび実行の何れであるかも特定する。
【0081】
ステップST42:
SAMチップ8が、ステップST41で特定したアプリケーションエレメントデータAPEが、当該SAMチップ8内に存在するか否かを判断し、存在しないと判断した場合にはステップST43の処理に進み、存在すると判断した場合にはステップST45の処理に進む。
【0082】
ステップST43:
SAMチップ8が、実行中のアプリケーションプログラムに対応するAP管理用テーブルデータ300_1〜300_3を参照して、対応するサービス(アプリケーションエレメントデータAPE)に対応する鍵データK_SAMを取得し、当該鍵データK_SAMを用いて、利用先のアプリケーションエレメントデータAPEを有するSAMチップ8aと相互認証を行う。
【0083】
ステップST44:
ステップST43の相互認証でSAMチップ8と8aとが互いの正当性を認証すると、SAMチップ8はステップST45の処理に進み、そうでない場合にはステップST50に進む。
【0084】
ステップST45:
SAMチップ8が、実行中のアプリケーションプログラムに対応するAP管理用テーブルデータ300_1〜300_3を参照して、対応するサービス(アプリケーションエレメントデータAPE)に対応する鍵データK_SAMを取得する。
また、SAMチップ8が、ステップST41で特定した利用先のプリケーションエレメントデータAPEについても、同様に、当該アプリケーションエレメントデータAPEに対応するAP管理用テーブルデータ300_1〜300_3を参照して、対応するサービス(アプリケーションエレメントデータAPE)に対応する鍵データK_SAMを取得する。
そして、SAMチップ8が、上記取得した2つの鍵データK_SAMを比較する。
【0085】
スクランブル46:
SAMチップ8は、ステップST45の処理で、2つの鍵データK_SAMが一致していると判断した場合にはステップST47の処理に進み、そうでない場合にはステップST50に進む。
【0086】
ステップST47:
SAMチップ8あるいは8aは、ステップST41で特定されたアプリケーションプログラムに対応するAP管理用テーブルデータ300_1〜300_3を参照し、利用されるアプリケーションエレメントデータAPEに対応するAPPテーブルデータ310_1〜310_3を特定する。
【0087】
ステップST48:
SAMチップ8あるいは8aは、ステップST47で特定したAPPテーブルデータ310_1〜310_3を基に、利用(アクセス)されるアプリケーションエレメントデータAPEのアクセス権限を判断する。
具体的には、当該利用されるアプリケーションエレメントデータAPEの読み出し、書き込みおよび実行の権限を判断する。
【0088】
ステップST49:
SAMチップ8あるいは8aは、ステップST48でアクセス権限があると判断した場合にはステップST50の処理に進み、そうでない場合にはステップST51の処理に進む。
【0089】
ステップST50:
SAMチップ8あるいは8aは、ステップST41で特定されたアプリケーションエレメントデータAPEについて、ステップST41で特定された利用を行う。
【0090】
ステップST51:
SAMチップ8あるいは8aは、ステップST41で特定されたアプリケーションエレメントデータAPEについて、ステップST41で特定された利用を行う。
【0091】
また、SAMチップ8は、上述した図20のステップST4におけるジョブの実行時に、前述したSAMチップ8がアプリケーションエレメントデータAPEに規定された手順に従って、ICカード3との間でデータ授受を行う場合には、図17に示すAP管理用テーブルデータ300_1〜300_3を参照して、当該アプリケーションエレメントデータAPEに対応する鍵データK_CADRを取得し、当該鍵データK_CARDを用いて、ICカード3のメモリ50にアクセスを行う。
【0092】
以下、図1に示す通信システム1の全体動作について説明する。
図23および図24は、図1に示す通信システム1の全体動作を説明するための図である。
【0093】
ステップST21:
サービス事業者15_1〜15_3あるいはこれらサービス事業者の依頼を受けた者が、当該サービス事業者がICカード3を用いて行う取り引きについての処理を記述したスクリプトプログラム21_1,21_2,21_3を、例えば、図1に示すパーソナルコンピュータ16_1,16_2,16_3上で作成する。
また、SAMチップ8の管理者が、サービス事業者15_1〜15_3のそれぞれに対応するAP管理用テーブルデータ300_1〜300_3を作成する。
【0094】
ステップST22:
ステップST21で作成されたAP管理用テーブルデータ300_1〜300_3が外部メモリ7に記憶される。
また、ステップST21で作成されたスクリプトプログラム21_1,21_2,21_3が、パーソナルコンピュータ16_1,16_2,16_3から、インターネット10、ASPサーバ装置19およびSAMチップ8を介して、外部メモリ7にダウンロードされる。当該ダウンロードの処理は、図10に示すように、SAMチップ8内のスクリプトダウンロードタスク69によって管理される。
【0095】
ステップST23:
図10に示すSAMチップ8内のスクリプト解釈タスク70によって、各サービス事業者毎に、AP管理用テーブルデータ300_1〜300_3およびスクリプトプログラムを用いて、ICカードエンティティテンプレートデータ、入力用データブロック、出力用データブロック、ログ用データブロックおよび演算定義用データブロックが生成される。
これら生成されたデータは、図16に示すSAMチップ8のメモリ65に格納される。
【0096】
ステップST24:
ユーザにICカード3が発行される。
図5に示すように、ICカード3のIC3aには、ユーザが契約を行ったサービス事業者との取り引きに用いられる鍵データが記憶されている。
なお、ユーザとサービス事業者との間の契約は、ICカード3の発行後に、インターネット10などを介して行ってもよい。
【0097】
ステップST25:
例えば、ユーザがパーソナルコンピュータ5を用いてインターネット10を介してサーバ装置2にアクセスを行い、商品を購入しようとした場合に、サーバ装置2がインターネット10を介してASPサーバ装置19に処理要求を出す。
ASPサーバ装置19は、サーバ装置2から処理要求を受けると、インターネット10を介してパーソナルコンピュータ5にアクセスを行う。そして、カードリーダ・ライタ4が出したICカード3についての処理要求が、パーソナルコンピュータ5、インターネット10およびASPサーバ装置19を介してSAMチップ8に送信される。
【0098】
ステップST26:
ASPサーバ装置19からSAMチップ8にエンティティ作成要求が出される。当該エンティティ作成要求には、ICカード3の発行元を示すデータが格納されている。
【0099】
ステップST27:
SAMチップ8は、エンティティ作成要求を受けると、ICカード3との間でポーリングを行う。
【0100】
ステップST28:
SAMチップ8のエンティティ生成タスク71は、ポーリング終了後に、SAMチップ8内に存在するICカードエンティティデータ73_xの数が、スクリプトプログラムのSCコマンドによって規定された最大数以内であるか否かを判断し、最大数以内であればステップST29の処理に進み、そうでない場合には処理を終了する。
【0101】
ステップST29:
エンティティ生成タスク71が、例えば、エンティティ作成要求に格納されたICカード3の発行元を示すデータに基づいて、何れのサービス事業者のICカードエンティティテンプレートデータを用いるかを特定し、当該特定したICカードエンティティプレートデータ用いて、ICカードエンティティデータ73_xを生成する。
これは、図19に示すインスタンス生成に対応している。
【0102】
ステップST30:
SAMチップ8からASPサーバ装置19に、ステップST29で生成したICカードエンティティデータ73_xのエンティティIDが出力される。
【0103】
ステップST31:
SAMチップ8のICカード手続管理用タスク72によって、ICカード3で利用可能なサービスが調べられる。
これは、図19に示すジョブRSに対応した処理である。
【0104】
ステップST32:
SAMチップ8のICカード手続管理用タスク72がICカード3の正当性を認証する。
これは、図19に示すジョブA1に対応した処理である。
【0105】
ステップST33:
ICカード3がSAMチップ8の正当性を認証する。
これは、図19に示すジョブA2に対応した処理である。
ステップST32,ST33によって、ICカード3とSAMチップ8との間の相互認証が行われる。
このとき、前述したように、SAMチップ8で実行されているアプリケーションエレメントデータAPEに応じて、図13に示すAP管理用テーブルデータ300_1〜300_3が参照されて、鍵データK_CARDが取得され、当該鍵データK_CARDを用いてSAMチップ8とICカード3のCPU51との間で相互認証が行われる。
【0106】
ステップST34:
SAMチップ8のICカード手続管理用タスク72が、ICカード3との間で、手続きに必要なデータの読み書きを行う。
これは、図12に示すジョブR,Wに対応した処理である。
また、ICカード手続管理用タスク72は、ICカードエンティティデータ73_xの処理前データ86に基づいて特定した演算式を用いて、ICカード3から読み出したデータを用いて所定の演算処理を行う。
【0107】
ステップST35:
SAMチップ8のICカード手続管理用タスク72が、ステップST34の処理結果をASPサーバ装置19に出力する。
【0108】
ステップST36:
例えば、ICカード手続管理用タスク72が、ICカードエンティティデータ73_xを消去する。
【0109】
以上説明したように、通信システム1およびSAMユニット9によれば、アプリケーションプログラムAPを複数のアプリケーションエレメントデータAPEを用いて構成し、AP管理用テーブルデータおよびAPPテーブルデータを用いて、各アプリケーションエレメントデータAPEの処理内容を規定することで、ICカード3を用いた多様なサービスを提供できる。
また、通信システム1によれば、AP管理用テーブルデータおよびAPPテーブルデータを用いて、同一SAM内でのアプリケーションエレメントデータAPEの利用、並びに異なるSAM間でのアプリケーションエレメントデータAPEの利用を高いセキュリティを保ちながら柔軟に実現できる。
また、通信システム1によれば、異なるSAM間でアプリケーションエレメントデータAPEを利用する場合に、SAM間で相互認証を行うため、アプリケーションプログラムのセキュリティを高めることができる。
また、通信システム1によれば、同一のサービス事業者のアプリケーションプログラムに、同じクラスのSAM_IDを割り当てることで、同じ事業者のアプリケーションプログラムのアプリケーションエレメントデータAPE間では、煩雑な相互認証処理を行わないようにすることができ、鍵情報の管理、並びにSAMチップの処理負担を軽減できる。
【0110】
また、通信システム1によれば、ICカード3との間で発生する手続き処理毎にICカードエンティティデータ73_xを生成し、ICカード手続管理用タスク72によって、複数のICカードエンティティデータ73_xを用いて、複数のICカード3についての処理を同時に進行することができる。
また、認証システム1によれば、ICカード3についての処理に実際に用いられているICカードエンティティデータ73_xをメモリ65に記憶すれば良いため、メモリ65の記憶領域を効率的に利用できる。
また、認証システム1によれば、図19に示すように、ICカード手続管理用タスク72が処理するジョブの実行状態を、起動後状態と完了状態とに分離して管理するため、一のジョブの実行を開始後にICカード3からのデータを待っている状態で、他のジョブに関する処理を開始できる。そのため、インターネット10を介してICカード3との間でデータを送受信することによる待ち時間を無くすことができる。
【0111】
また、認証システム1によれば、AP管理用テーブルデータ300_1〜300_3内に、各サービス事業者が提供するサービスの種類を示す名前であるAPE_N、ICカード3内で用いられる当該サービスの番号、並びに当該サービスを提供するに際に用いられる鍵データをAP管理用テーブルデータ300_1〜300_3内に記述し、これを外部メモリ7に保持する。そのため、SAMチップ8の開発者でない、サービス事業者15_1〜15_3が、SAMチップ8上で動作する自らのアプリケーションプログラムを、スクリプトプログラム21_1,21_2,21_3を作成してSAMチップ8を介して外部メモリ7にダウンロードすることでカスタマイズできる。すなわち、鍵データやICカード3を直接操作する操作コマンドなどの秘匿性の高いデータをサービス事業者15_1〜15_3に知らせることなく、これらのサービス事業者が自らのアプリケーションプログラムをカスタマイズできる。また、サービス事業者は、アプリケーションプログラムをカスタマイズする際に、鍵データやカード操作用コマンドを知る必要がないため、サービス事業者の負担が軽減される。
また、認証システム1によれば、複数のサービスにまたがった処理内容を定義できるため、ICカード3側で許容されると同時に実行されるサービスの範囲内で、複数のサービスを組み合わせた多様なサービスを提供できる。
また、認証システム1によれば、データブロックの概念を導入することで、ICカード3との間で入出力されるデータ、並びにログデータの管理が容易に行える。
【0112】
【発明の効果】
以上説明したように、本発明によれば、集積回路を用いたサービスを提供する際に、半導体回路上で動作するアプリケーションプログラムのセキュリティを高められるデータ処理装置およびその方法を提供することができる。
【図面の簡単な説明】
【図1】図1は、本実施形態の通信システムの全体構成図である。
【図2】図2は、図1に示すSAMチップが通信を行う他のSAMチップを説明するための図である。
【図3】図3は、図1に示すSAMチップが通信を行う他のSAMチップを説明するための図である。
【図4】図4は、図1に示すICカードの機能ブロック図である。
【図5】図5は、図4に示すメモリを説明するための図である。
【図6】図6は、図1に示すSAMチップのソフトウェア構造を説明するための図である。
【図7】図7は、図1に示す外部メモリの記憶領域を説明するための図である。
【図8】図8は、図7に示すアプリケーションプログラムAPを説明するための図である。
【図9】図9は、図8に示すアプリケーションエレメントデータAPEの種別を説明するための図である。
【図10】図10は、図1に示すSAMチップの処理を説明するための図である。
【図11】図11は、図10に示すICカード操作用マクロコマンドスクリプトプログラムで使用されるコマンドを説明するための図である。
【図12】図12は、図7に示すAP管理用記憶領域を説明するための図である。
【図13】図13は、図12に示すAP管理用テーブルデータを説明するための図である。
【図14】図14は、SAM_IDを説明するための図である。
【図15】図15は、図12に示すAPPテーブルデータを説明するための図である。
【図16】図16は、図1に示すSAMチップの機能ブロック図である。
【図17】図17は、図16に示すメモリに記憶されるタスク、プログラムおよびデータを説明するための図である。
【図18】図18は、ICカードエンティティデータ73_xのフォーマットを説明するための図である。
【図19】図19は、図18に示すエンティティステータスデータの状態遷移を説明するための図である。
【図20】図20は、ICカード手続管理用タスクが行う処理のフローチャートである。
【図21】図21は、図20のステップST4におけるジョブの実行時に、SAMチップがアプリケーションエレメントデータAPEに規定された手順に従って、他のアプリケーションエレメントデータAPEによって規定された処理またはデータにアクセスを行う場合の処理を説明するための図である。
【図22】図22は、図20のステップST4におけるジョブの実行時に、SAMチップがアプリケーションエレメントデータAPEに規定された手順に従って、他のアプリケーションエレメントデータAPEによって規定された処理またはデータにアクセスを行う場合の処理を説明するための図である。
【図23】図23は、図1に示す通信システムの全体動作を説明するための図である。
【図24】図24は、図1に示す通信システムの全体動作を説明するための図である。
【符号の説明】
1…通信システム、2…サーバ装置、3…ICカード、4…カードリーダ・ライタ、5…パーソナルコンピュータ、7,7a…外部メモリ、8,8a…SAMチップ、9,9a…SAMユニット、15_1〜15_3…サービス事業者、19…ASPサーバ装置
Claims (22)
- 集積回路との間で通信を行ってサービスを提供するための処理手順を記述した処理手順データを含む複数のデータモジュールによってそれぞれ構成される複数のアプリケーションプログラムをそれぞれ予め決められた記憶領域に記憶し、前記データモジュールと、当該データモジュールに応じた処理において他の前記データモジュールを利用するために用いられる第1の鍵データと、当該データモジュールに応じた処理において前記集積回路とデータ授受を行うために用いられる第2の鍵データとを対応付けて示す管理データを記憶する記憶回路と、
前記データモジュールに基づいて前記サービスに係わる処理を行い、当該処理において、前記管理データを参照して、当該データモジュールに対応した前記第1の鍵データを用いて前記他のデータモジュールを利用し、当該データモジュールに対応した前記第2の鍵データを用いて前記集積回路とデータの授受を行う半導体回路と
を有するデータ処理装置。 - 前記記憶回路は、前記データモジュールを用いて行われた処理の履歴データ、前記記憶領域に対して前記データモジュールを登録する手順を示したプログラムデータ、前記記憶領域から前記データモジュールの登録を削除する手順を示したプログラムデータ、並びに前記アプリケーションプログラムを記憶する前記記憶領域を規定するための手順を示したプログラムデータのうち少なくも一つを前記データモジュールとして記憶する
請求項1に記載のデータ処理装置。 - 前記半導体回路は、
前記他のデータモジュールに応じた処理が当該半導体回路で実行される場合に、前記管理データを用いて、前記所定のデータモジュールに対応する前記第1の鍵データと、前記他のデータモジュールに対応する前記第1の鍵データとを得て、当該得た2つの第1の鍵データが一致していることを条件に、前記実行中の所定のデータモジュールから前記他のデータモジュールを利用する
請求項1に記載のデータ処理装置。 - 前記記憶回路は、前記データモジュールのそれぞれについて、当該データモジュールに関する利用について許諾する形態を示す利用許可データ
を記憶し、
前記半導体回路は、前記2つの第1の鍵データが一致している場合に、当該他のデータモジュールに対応する前記利用許諾データを基に、当該利用許諾データによって許諾される形態で前記他のデータモジュールを利用する
請求項3に記載のデータ処理装置。 - 前記半導体回路は、
前記他のデータモジュールに応じた処理が他の半導体回路で実行される場合に、前記管理データを用いて、前記所定のデータモジュールに対応する前記第1の鍵データを得て、当該第1の鍵データを用いて前記他の半導体回路と相互認証を行い、互いの正当性が認証されたことを条件に、前記実行中の所定のデータモジュールから前記他のデータモジュールを利用する
請求項1に記載のデータ処理装置。 - 前記半導体回路は、前記互いの正当性が認証された場合に、前記他のデータモジュールに関する利用について許諾される形態を示す利用許諾データを基に、当該利用許諾データによって許諾される形態で前記他のデータモジュールを利用する
請求項5に記載のデータ処理装置。 - 前記第1の鍵データは、同一の前記アプリケーションプログラムを構成するデータモジュールについて同一となるように規定されている
請求項1に記載のデータ処理装置。 - 前記記憶回路は、前記アプリケーションプログラム毎に固有に割り当てられた鍵データを用いて暗号化された前記アプリケーションプログラムを記憶する
請求項1に記載のデータ処理装置。 - 前記半導体回路は、
前記データモジュールデータから、前記アプリケーションプログラムの処理を構成する複数のジョブの実行順番を示すジョブ実行順番データと、前記複数のジョブの実行の進行状態を示すステータスデータとを含むジョブ管理用データを生成し、
前記ジョブ管理用データの前記ステータスデータおよび前記処理順番データに基づいて、次に実行を行うジョブを選択し、
前記選択したジョブを実行し、
当該ジョブの実行に応じて、前記選択したジョブ管理用データの前記ステータスデータを更新する
請求項1に記載のデータ処理装置。 - 前記半導体回路は、
前記処理手順データおよび前記管理データを用いて、前記ジョブ管理用データのテンプレートデータを生成し、
前記処理要求に応じて、前記テンプレートデータを用いて前記ジョブ管理用データを生成する
請求項9に記載のデータ処理装置。 - 前記半導体回路は、
複数の処理要求のそれぞれについて、前記ジョブ管理用データを生成し、
複数の前記データモジュールから一つのジョブ管理用データを選択し、
前記選択したジョブ管理用データの前記ステータスデータおよび前記処理順番データに基づいて、次に実行を行うジョブを選択し、
前記選択したジョブを実行し、
当該ジョブの実行に応じて、前記選択したジョブ管理用データの前記ステータスデータを更新し、
当該更新後に、前記複数のデータモジュールから一つのジョブ管理用データを選択する
請求項10に記載のデータ処理装置。 - 前記半導体回路は、
前記処理要求に応じた処理を構成する全てのジョブの実行が終了した前記ジョブ管理用データを消去する
請求項11に記載のデータ処理装置。 - 集積回路との間で通信を行ってサービスを提供するための処理を行う半導体回路が記憶回路とデータ授受してデータ処理方法であって、
前記記憶回路が、集積回路との間で通信を行ってサービスを提供するための処理手順を記述した処理手順データを含む複数のデータモジュールによってそれぞれ構成される複数のアプリケーションプログラムをそれぞれ予め決められた記憶領域に記憶し、前記データモジュールと、当該データモジュールに応じた処理において他の前記データモジュールを利用するために用いられる第1の鍵データと、当該データモジュールに応じた処理において前記集積回路とデータ授受を行うために用いられる第2の鍵データとを対応付けて示す管理データを記憶する場合に、
前記半導体回路が、前記データモジュールに基づいて前記サービスに係わる処理を行い、
前記半導体回路が、前記サービスに係わる処理において、前記管理データを参照して、当該データモジュールに対応した前記第1の鍵データを用いて前記他のデータモジュールを利用し、
前記半導体回路が、前記サービスに係わる処理において、当該データモジュールに対応した前記第2の鍵データを用いて前記集積回路とデータの授受を行う
データ処理方法。 - 前記半導体回路が、前記他のデータモジュールに応じた処理が当該半導体回路で実行される場合に、前記管理データを用いて、前記所定のデータモジュールに対応する前記第1の鍵データと、前記他のデータモジュールに対応する前記第1の鍵データとを得て、当該得た2つの第1の鍵データが一致していることを条件に、前記実行中の所定のデータモジュールから前記他のデータモジュールを利用する
請求項13に記載のデータ処理方法。 - 前記記憶回路が、前記データモジュールのそれぞれについて、当該データモジュールに関する利用について許諾する形態を示す利用許可データを記憶している場合に、
前記半導体回路が、前記2つの第1の鍵データが一致している場合に、当該他のデータモジュールに対応する前記利用許諾データを基に、当該利用許諾データによって許諾される形態で前記他のデータモジュールを利用する
請求項14に記載のデータ処理方法。 - 前記半導体回路が、前記他のデータモジュールに応じた処理が他の半導体回路で実行される場合に、前記管理データを用いて、前記所定のデータモジュールに対応する前記第1の鍵データを得て、当該第1の鍵データを用いて前記他の半導体回路と相互認証を行い、互いの正当性が認証されたことを条件に、前記実行中の所定のデータモジュールから前記他のデータモジュールを利用する
請求項13に記載のデータ処理方法。 - 前記半導体回路が、前記互いの正当性が認証された場合に、前記他のデータモジュールに関する利用について許諾される形態を示す利用許諾データを基に、当該利用許諾データによって許諾される形態で前記他のデータモジュールを利用する
請求項16に記載のデータ処理方法。 - 前記第1の鍵データは、同一の前記アプリケーションプログラムを構成するデータモジュールについて同一となるように規定されている
請求項13記載のデータ処理方法。 - 前記半導体回路が、前記データモジュールデータから、前記アプリケーションプログラムの処理を構成する複数のジョブの実行順番を示すジョブ実行順番データと、前記複数のジョブの実行の進行状態を示すステータスデータとを含むジョブ管理用データを生成し、
前記半導体回路が、前記ジョブ管理用データの前記ステータスデータおよび前記処理順番データに基づいて、次に実行を行うジョブを選択し、
前記半導体回路が、前記選択したジョブを実行し、
前記半導体回路が、当該ジョブの実行に応じて、前記選択したジョブ管理用データの前記ステータスデータを更新する
請求項13に記載のデータ処理方法。 - 前記半導体回路が、前記処理手順データおよび前記管理データを用いて、前記ジョブ管理用データのテンプレートデータを生成し、
前記半導体回路が、前記処理要求に応じて、前記テンプレートデータを用いて前記ジョブ管理用データを生成する
請求項19に記載のデータ処理方法。 - 前記半導体回路が、複数の処理要求のそれぞれについて、前記ジョブ管理用データを生成し、
前記半導体回路が、複数の前記データモジュールから一つのジョブ管理用データを選択し、
前記半導体回路が、前記選択したジョブ管理用データの前記ステータスデータおよび前記処理順番データに基づいて、次に実行を行うジョブを選択し、
前記半導体回路が、前記選択したジョブを実行し、
当該ジョブの実行に応じて、前記選択したジョブ管理用データの前記ステータスデータを更新し、
前記半導体回路が、当該更新後に、前記複数のデータモジュールから一つのジョブ管理用データを選択する
請求項20に記載のデータ処理方法。 - 前記半導体回路が、前記処理要求に応じた処理を構成する全てのジョブの実行が終了した前記ジョブ管理用データを消去する
請求項21に記載のデータ処理方法。
Priority Applications (16)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001262288A JP4207409B2 (ja) | 2001-08-30 | 2001-08-30 | データ処理装置およびその方法 |
SG200505142-0A SG154320A1 (en) | 2001-02-16 | 2002-02-15 | Data processing method and its apparatus |
SG200505141-2A SG143065A1 (en) | 2001-02-16 | 2002-02-15 | Data processing method and its apparatus |
CN200910004389.6A CN101526982B (zh) | 2001-02-16 | 2002-02-15 | 数据处理方法及其设备 |
SG200505139-6A SG160187A1 (en) | 2001-02-16 | 2002-02-15 | Data processing method and its apparatus |
SG200505136-2A SG143064A1 (en) | 2001-02-16 | 2002-02-15 | Data processing method and its apparatus |
SG200505135-4A SG132507A1 (en) | 2001-02-16 | 2002-02-15 | Data processing method and its apparatus |
CN02801052.3A CN1261870C (zh) | 2001-02-16 | 2002-02-15 | 数据处理方法及其设备 |
PCT/JP2002/001324 WO2002065287A1 (en) | 2001-02-16 | 2002-02-15 | Data processing method and its apparatus |
US10/257,472 US7240345B2 (en) | 2001-02-16 | 2002-02-15 | Data processing apparatus and associated method |
SG200505138-8A SG143976A1 (en) | 2001-02-16 | 2002-02-15 | Data processing method and its apparatus |
EP02700588A EP1361511A4 (en) | 2001-02-16 | 2002-02-15 | DATA PROCESSING METHOD AND CORRESPONDING APPARATUS |
SG200505137-0A SG140467A1 (en) | 2001-02-16 | 2002-02-15 | Data processing method and its apparatus |
HK04104630A HK1062722A1 (en) | 2001-02-16 | 2004-06-28 | Data processing method and its apparatus |
US11/688,439 US8141057B2 (en) | 2001-02-16 | 2007-03-20 | Data processing apparatus and associated method |
HK07105179.5A HK1098849A1 (en) | 2001-02-16 | 2007-05-16 | Data processing method and its apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001262288A JP4207409B2 (ja) | 2001-08-30 | 2001-08-30 | データ処理装置およびその方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003076663A JP2003076663A (ja) | 2003-03-14 |
JP4207409B2 true JP4207409B2 (ja) | 2009-01-14 |
Family
ID=19089206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001262288A Expired - Lifetime JP4207409B2 (ja) | 2001-02-16 | 2001-08-30 | データ処理装置およびその方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4207409B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4516394B2 (ja) * | 2004-09-30 | 2010-08-04 | フェリカネットワークス株式会社 | 情報管理装置および方法、並びにプログラム |
JP4698323B2 (ja) * | 2005-08-02 | 2011-06-08 | フェリカネットワークス株式会社 | 情報処理装置および方法、並びにプログラム |
EP2169900A1 (fr) * | 2008-09-30 | 2010-03-31 | Gemplus | Régulateur de commandes destinées à une application sensible |
-
2001
- 2001-08-30 JP JP2001262288A patent/JP4207409B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003076663A (ja) | 2003-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4055393B2 (ja) | データ処理装置およびその方法とプログラム | |
US7240345B2 (en) | Data processing apparatus and associated method | |
US6834799B2 (en) | IC card with capability of having plurality of card managers installed | |
JP4835167B2 (ja) | ライセンス管理のためのプログラム、システム及び方法 | |
JP3783608B2 (ja) | 通信方法、通信システム、データ処理装置、サーバ装置およびプログラム | |
US20050086497A1 (en) | IC card system | |
US7610488B2 (en) | Data processing device and method and program of same | |
JP2004272400A (ja) | メモリカード | |
JP5360192B2 (ja) | 個人認証システムおよび個人認証方法 | |
KR101038133B1 (ko) | 데이터 처리 방법, 그 프로그램을 기록한 기록 매체 및 그 장치 | |
US7664953B2 (en) | Data processing device, method of same, and program of same | |
JP3826764B2 (ja) | データ処理方法、データ処理装置およびプログラム | |
JP5150116B2 (ja) | Icカード及び読み書き装置 | |
JP2002169782A (ja) | 携帯情報記憶媒体、ユーザ使用制御システム、ユーザ使用制御方法およびユーザ使用制御プログラム | |
JP4207409B2 (ja) | データ処理装置およびその方法 | |
JP4765174B2 (ja) | アプリケーション実行装置、通信システム、およびアプリケーション実行方法 | |
JP4670158B2 (ja) | データ処理方法および半導体回路 | |
JP2004112510A (ja) | データ処理方法、そのプログラムおよびその装置 | |
JP2002169783A (ja) | ユーザ使用制御システム、ユーザ使用制御方法およびユーザ使用制御プログラム | |
JP2004112476A (ja) | データ処理方法、そのプログラムおよびその装置 | |
JP4453678B2 (ja) | データ処理方法およびデータ処理システム | |
JP2008102943A (ja) | データ処理装置およびその方法とプログラム | |
JP4211251B2 (ja) | データ処理装置およびその方法とプログラム | |
JP2002229660A (ja) | ソフトウェア流通管理システム、ソフトウェア流通管理方法、ソフトウェア使用管理アプレット、ソフトウェア使用管理アプレットを記録した媒体及びソフトウェア流通管理サーバ | |
JP2004030239A (ja) | アプリケーションの追加制御システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050224 |
|
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: 20080930 |
|
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: 20081013 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4207409 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: 20111031 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121031 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131031 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |