JP4055393B2 - データ処理装置およびその方法とプログラム - Google Patents

データ処理装置およびその方法とプログラム Download PDF

Info

Publication number
JP4055393B2
JP4055393B2 JP2001333468A JP2001333468A JP4055393B2 JP 4055393 B2 JP4055393 B2 JP 4055393B2 JP 2001333468 A JP2001333468 A JP 2001333468A JP 2001333468 A JP2001333468 A JP 2001333468A JP 4055393 B2 JP4055393 B2 JP 4055393B2
Authority
JP
Japan
Prior art keywords
data
version
processing
key
storage area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001333468A
Other languages
English (en)
Other versions
JP2003140760A (ja
Inventor
正弘 末吉
文夫 久保野
啓 舘野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2001333468A priority Critical patent/JP4055393B2/ja
Priority to SG200206450A priority patent/SG127686A1/en
Priority to US10/282,109 priority patent/US7478435B2/en
Priority to CNB021479399A priority patent/CN1282071C/zh
Publication of JP2003140760A publication Critical patent/JP2003140760A/ja
Priority to HK03107985A priority patent/HK1057793A1/xx
Application granted granted Critical
Publication of JP4055393B2 publication Critical patent/JP4055393B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ICなどの集積回路を用いたサービス提供に用いられるデータ処理装置およびその方法とプログラムに関する。
【0002】
【従来の技術】
現在、ICカードを用いてインターネットなどのネットワークを介した取り引きを行う通信システムが開発されている。
このような通信システムでは、ICカードを用いたサービスを提供するサービス提供者からの依頼を受けて当該サービス提供者が規定した手続き処理を実行するアプリケーションプログラムをサーバ装置が実行する。
サーバ装置は、例えばICカードのリーダ・ライタやPC(Personal Computer) から処理要求に応じて、上記アプリケーションプログラムに基づいて、ユーザ認証やデータの暗号化及び復号などの処理を行う。
【0003】
【発明が解決しようとする課題】
上述したサーバ装置上で動作するアプリケーションプログラムは、サービス提供者が設定した鍵データ、課金データおよび履歴データなどのセキュリティの高いデータを取り扱うため、不正な改竄や監視から保護したいという要請がある。
また、上述したサーバ装置によるサービスの運用を開始した後に、アプリケーションプログラムを構成するデータモジュールのバージョンがアップし、新旧のバージョンのデータモジュールを混在させた状態で動作を行うための機能を提供する必要がある。
また、セキュリティ確保の観点から、サーバ装置が保持するアプリケーションプログラムに対して設定を行うユーザを規制する必要がある。
【0004】
本発明は上述した従来技術の問題点に鑑みてなされ、ICなどの集積回路を用いたサービスを提供する際に、サーバ装置上で動作するアプリケーションプログラムのセキュリティを高めることができるデータ処理装置およびその方法とプログラムを提供することを目的とする。
また、本発明は、複数のバージョンのデータモジュールが混在した状態の動作を行うための機能を備えたデータ処理装置およびその方法とプログラムを提供することを目的とする。
また、本発明は、サーバ装置が保持するアプリケーションプログラムに対して設定を行うユーザを、セキィリティの観点から適切に規制できるデータ処理装置およびその方法とプログラムを提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明によれば、アプリケーションプログラムを実行し、該実行が行われるモジュール内の所定の集積回路との間で暗号化されたデータの授受を行い、前記集積回路と協動して前記集積回路内のメモリからデータの読み出しまたは前記集積回路内のメモリへのデータの書き込みを行う所定のサービスであって、少なくとも、(1)処理対象のカードから自動的にバージョンの値を取得するか、またはバージョンの値を暗号モジュールに明示的に与える処理、(2)前記バージョンの値を検索用のキーとして所望する鍵値をソート型ファイルシステム内を検索する処理、(3)当該検索の結果得られた鍵値を利用して暗号モジュールが処理対象の相互認証を含むカードへの処理を実施する処理、(4)特定したバージョン管理用データの表データから指定されたバージョンの識別データをキーとして対応する第2のデータのアプリケーションプログラムIDを検索し、当該検索によって得た識別データを基に対応する前記第2のデータを得て前記実行が行われるモジュールへの前記所定のサービスに関する処理を行うことのいずれかを含む所定のサービスを提供するデータ処理装置であって、
前記授受されるデータを暗号化する複数の第1のデータの各々について複数のバージョンが存在する場合に、前記第1のデータの複数のバージョンを表す情報と前記複数のバージョンにそれぞれ対応する第2のデータとの対応関係を表すバージョン管理用データと、前記第1のデータとそれに対応する前記バージョン管理用データとの対応関係を表す管理データとを記憶する記憶回路と、
前記データ処理装置の内部あるいは外部から指定される前記第1のデータのバージョンを表す情報をキーとして、前記管理データを参照して前記バージョン管理用データを特定し、当該特定したバージョン管理用データを参照して、第1のデータ実体または前記第1のデータを識別する情報である前記第2のデータを特定し、前記特定した第2のデータを用いて前記暗号化されたデータの復号を行い、前記実行が行われるモジュールへの前記所定のサービスに関する処理を行う処理回路と
を有するデータ処理装置が提供される。
【0006】
また本発明によれば、記憶手段と処理手段とを有するコンピュータの前記処理手段が、アプリケーションプログラムを実行し、該実行が行われるモジュール内の所定の集積回路との間で暗号化されたデータの授受を行い、前記集積回路と協動して前記集積回路内のメモリからデータの読み出しまたは前記集積回路内のメモリへのデータの書き込みを行う所定のサービスであって、少なくとも、(1)処理対象のカードから自動的にバージョンの値を取得するか、またはバージョンの値を暗号モジュールに明示的に与える処理、(2)前記バージョンの値を検索用のキーとして所望する鍵値をソート型ファイルシステム内を検索する処理、(3)当該検索の結果得られた鍵値を利用して暗号モジュールが処理対象の相互認証を含むカードへの処理を実施する処理、(4)特定したバージョン管理用データの表データから指定されたバージョンの識別データをキーとして対応する第2のデータのアプリケーションプログラムIDを検索し、当該検索によって得た識別データを基に対応する前記第2のデータを得て前記実行が行われるモジュールへの前記所定のサービスに関する処理を行うことのいずれかを含む所定のサービスを提供する、コンピュータを用いたデータ処理方法であって、
前記記憶回路は、前記授受されるデータを暗号化する複数の第1のデータの各々について複数のバージョンが存在する場合に、前記第1のデータの複数のバージョンを表す情報と前記複数のバージョンにそれぞれ対応する第2のデータとの対応関係を表すバージョン管理用データと、前記第1のデータとそれに対応する前記バージョン管理用データとの対応関係を表す管理データとを記憶し、
前記処理手段は、前記データ処理装置の内部あるいは外部から指定される前記第1のデータのバージョンを表す情報をキーとして、前記管理データを参照して前記バージョン管理用データを特定し、当該特定したバージョン管理用データを参照して、第1のデータ実体または前記第1のデータを識別する情報である前記第2のデータを特定し、前記特定した第2のデータを用いて前記暗号化されたデータの復号を行い、前記実行が行われるモジュールへの前記所定のサービスに関する処理を行う、
データ処理方法が提供される。
【0007】
本発明によれば、記憶手段と処理手段とを有するコンピュータの前記処理手段が、アプリケーションプログラムを実行し、該実行が行われるモジュール内の所定の集積回路との間で暗号化されたデータの授受を行い、前記集積回路と協動して前記集積回路内のメモリからデータの読み出しまたは前記集積回路内のメモリへのデータの書き込みを行う所定のサービスであって、少なくとも、(1)処理対象のカードから自動的にバージョンの値を取得するか、またはバージョンの値を暗号モジュールに明示的に与える処理、(2)前記バージョンの値を検索用のキーとして所望する鍵値をソート型ファイルシステム内を検索する処理、(3)当該検索の結果得られた鍵値を利用して暗号モジュールが処理対象の相互認証を含むカードへの処理を実施する処理、(4)特定したバージョン管理用データの表データから指定されたバージョンの識別データをキーとして対応する第2のデータのアプリケーションプログラムIDを検索し、当該検索によって得た識別データを基に対応する前記第2のデータを得て前記実行が行われるモジュールへの前記所定のサービスに関する処理を行うことのいずれかを含む所定のサービスを提供する手順をコンピュータに実行させるプログラムであって、
前記授受されるデータを暗号化する複数の第1のデータの各々について複数のバージョンが存在する場合に、前記第1のデータの複数のバージョンを表す情報と前記複数のバージョンにそれぞれ対応する第2のデータとの対応関係を表すバージョン管理用データと、前記第1のデータとそれに対応する前記バージョン管理用データとの対応関係を表す管理データとを前記記憶手段に記憶する手順と、
前記コンピュータの内部あるいは外部から指定される前記第1のデータのバージョンを表す情報をキーとして、前記管理データを参照して前記バージョン管理用データを特定し、当該特定したバージョン管理用データを参照して、第1のデータ実体または前記第1のデータを識別する情報である前記第2のデータを特定し、前記特定した第2のデータを用いて前記暗号化されたデータの復号を行い、前記実行が行われるモジュールへの前記所定のサービスに関する処理を行う手順と
をコンピュータに実行させるプログラムが提供される。
【0008】
また本発明によれば、複数の第1のデータからそれぞれ構成された、第2のデータを用いて、通信インターフェースを介して集積回路と通信して処理を行うデータ処理装置であって、
複数の第1のユーザそれぞれに対応した第1の記憶領域が設けられている、前記第2のデータを記憶する複数の第1の記憶領域と、前記複数の第1のユーザによって共用される前記第2のデータを記憶する第2の記憶領域と、特権ユーザによってのみアクセス許可される前記第2のデータを記憶する第3の記憶領域とを有する記憶回路と、
前記ユーザが、自らの所有するアプリケーションエレメントデータIDを用いて、アクセスを行う前記第2のデータを指定したとき、前記第1の記憶領域、前記第2の記憶領域および前記第3の記憶領域、並びに、当該第3の記憶領域に記憶された前記第2のデータに対してのアクセスを、ユーザの特権別にアプリケーションエレメントデータIDを用いてそれぞれ規定したアクセス管理データに基づいて、前記ユーザが、前記記憶回路の指定された記憶領域に適合したアプリケーションエレメントデータIDを有しているか判断されてアクセス許否を決定する処理回路と
を有するデータ処理装置が提供される。
【0009】
本発明によれば、記憶手段と、信号処理手段とを有するコンピュータを用いて、複数の第1のデータからそれぞれ構成された、第2のデータを用いて、通信インターフェースを介して前記集積回路と通信して処理を行うデータ処理方法であって、
前記記憶手段は、複数の第1のユーザそれぞれに対応した第1の記憶領域が設けられている、前記第2のデータを記憶する複数の第1の記憶領域と、前記複数の第1のユーザによって共用される前記第2のデータを記憶する第2の記憶領域と、特権ユーザによってのみアクセス許可される前記第2のデータを記憶する第3の記憶領域とを有し、
前記処理手段は、前記ユーザが、自らの所有するアプリケーションエレメントデータIDを用いて、アクセスを行う前記第2のデータを指定したとき、前記第1の記憶領域、前記第2の記憶領域および前記第3の記憶領域、並びに、当該第3の記憶領域に記憶された前記第2のデータに対してのアクセスを、ユーザの特権別にアプリケーションエレメントデータIDを用いてそれぞれ規定したアクセス管理データに基づいて、前記ユーザが、前記記憶回路の指定された記憶領域に適合したアプリケーションエレメントデータIDを有しているか判断されてアクセス許否を決定する
データ処理方法が提供される。
【0010】
さらに本発明によれば、記憶手段と、メモリを有する集積回路で構成された処理手段とを有するコンピュータの前記処理手段において、複数の第1のデータからそれぞれ構成された、第2のデータを用いて、通信インターフェースを介して前記集積回路と通信して処理を行う手順を前記コンピュータに実行させるプログラムであって、
前記記憶手段は、複数の第1のユーザそれぞれに対応した第1の記憶領域が設けられている、前記第2のデータを記憶する複数の第1の記憶領域と、前記複数の第1のユーザによって共用される前記第2のデータを記憶する第2の記憶領域と、特権ユーザによってのみアクセス許可される前記第2のデータを記憶する第3の記憶領域とを有し、
前記ユーザが、自らの所有するアプリケーションエレメントデータIDを用いて、アクセスを行う前記第2のデータを指定したとき、前記第1の記憶領域、前記第2の記憶領域および前記第3の記憶領域、並びに、当該第3の記憶領域に記憶された前記第2のデータに対してのアクセスを、ユーザの特権別にアプリケーションエレメントデータIDを用いてそれぞれ規定したアクセス管理データに基づいて、前記ユーザが、前記記憶回路の指定された記憶領域に適合したアプリケーションエレメントデータIDを有しているか判断されてアクセス許否を決定する手順を
コンピュータに実行させる、プログラムが提供される。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照して説明する。
図1は、本実施形態の通信システム1の全体構成図である。
図1に示すように、通信システム1は、店舗などに設置されたサーバ装置2、ICカード3、カードリーダ・ライタ4、パーソナルコンピュータ5、ASP(Application Service Provider)サーバ装置19、SAM(Secure Application Module) ユニット9、ICモジュール42(本発明の集積回路)が内蔵された携帯通信装置41を用いて、インターネット10を介して通信を行ってICカード3あるいは携帯通信装置41を用いた決済処理などの手続き処理を行う。
SAMユニット9(本発明のデータ処理装置)は、外部メモリ7(本発明の記憶回路)およびSAM8(本発明の処理回路)を有する。
【0014】
SAM8は、必要に応じて、図示しない他のSAMとデータの授受を行う。
【0015】
以下、図1に示す構成要素について説明する。
〔ICカード3および携帯通信装置41〕
図2は、ICカード3の機能ブロック図である。
図2に示すように、ICカード3は、メモリ50およびCPU51を備えたIC(Integrated Circuit)モジュール3aを有する。
メモリ50は、図3に示すように、クレジットカード会社などのサービス事業者15_1が使用する記憶領域55_1、サービス事業者15_2が使用する記憶領域55_2、並びにサービス事業者15_3が使用する記憶領域55_3を有する。
また、メモリ50は、記憶領域55_1へのアクセス権限を判断するために用いられる鍵データ、記憶領域55_2へのアクセス権限を判断するために用いられる鍵データ、並びに記憶領域55_3へのアクセス権限を判断するために用いられる鍵データを記憶している。当該鍵データは、相互認証や、データの暗号化および復号などに用いられる。
また、メモリ50は、ICカード3あるいはICカード3のユーザの識別データを記憶している。
【0016】
携帯通信装置41は、携帯電話網およびインターネット10を介してASPサーバ装置と通信を行う図示しない通信機能部と、上記通信機能部との間でデータ授受可能なICモジュール42とを有し、アンテナからインターネット10を介してSAMユニット9と通信を行う。
ICモジュール42は、携帯通信装置41の通信機能部とデータ授受を行う点を除いて、前述したICカード3のICモジュール3aと同じ機能を有している。
なお、携帯通信装置41を用いた処理は、ICカード3を用いた処理と同様に行われ、ICモジュール42を用いた処理はICモジュール3aを用いた処理と同様に行われるため、以下の説明では、ICカード3およびICモジュール3aを用いた処理について例示する。
【0017】
以下、SAMユニット9について詳細に説明する。
SAMユニット9は、前述したように、外部メモリ7(本発明の記憶回路)とSAM8(本発明の処理回路)とを有する。
ここで、SAM8は、半導体回路として実現してもよいし、筐体内に複数の回路を収容した装置として実現してもよい。
【0018】
SAM8のソフトウェア構成〕
SAM8は、図4に示すようなソフトウェア構成を有している。
図4に示すように、SAM8は、下層から上層に向けて、ハードウェアHW層、周辺HWに対応したRTOSカーネルなどを含めたドライバ層(OS層)、論理的にまとまった単位の処理を行う下位ハンドラ層、アプリケーション固有のライブラリなどをまとめた上位ハンドラ層およびAP層を順に有している。
ここで、AP層では、図1に示すクレジットカード会社などのサービス事業者15_1,15_2,15_3によるICカード3を用いた手続きを規定したアプリケーションプログラムAP_1,AP_2,AP_3(本発明のアプリケーションプログラム)が、外部メモリ7から読み出されて動作している。
各アプリケーションプログラムには、1つ以上のマクロスクリプトが設定可能である。
AP層では、アプリケーションプログラムAP_1,AP_2,AP_3相互間、並びに上位ハンドラ層との間にファイアウォールFWが設けられている。
【0019】
〔外部メモリ207〕
図5は、外部メモリ7の記憶領域を説明するための図である。
図5に示すように、外部メモリ207の記憶領域には、サービス事業者15_1のアプリケーションプログラムAP_1が記憶されるAP記憶領域220_1、サービス事業者15_2のアプリケーションプログラムAP_2が記憶されるAP記憶領域220_2、サービス事業者15_3のアプリケーションプログラムAP_3が記憶されるAP記憶領域220_3、並びにSAM208の管理者が使用するAP管理用記憶領域221がある。
【0020】
AP記憶領域220_1に記憶されているアプリケーションプログラムAP_1(第1〜第3の発明のアプリケーションプログラム、第4〜第6の発明の第2のデータ)は、後述する複数のアプリケーションエレメントデータAPE(第1〜第6の発明の第1のデータ)によって構成されている。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の数は、対応するサービス事業者が任意に決定できる。
【0021】
また、外部メモリ7に記憶されたアプリケーションプログラムAP_1,AP_2,AP_3は、スクランブルされており、SAM8に読み込まれたときに、デスクランブルされる。
また、アプリケーションプログラムAP_1,AP_2,AP_3は、例えば、それぞれ図1に示すパーソナルコンピュータ16_1,16_2,16_3を用いて、サービス事業者15_1,15_2,15_3によって作成され、SAM8を介して外部メモリ7にダウンロードされる。
【0022】
以下、アプリケーションプログラムAP_1,AP_2,AP_3について詳細に説明する。
アプリケーションプログラムは、サービス事業者毎に、SAM内に単数または複数個存在する。
アプリケーションプログラムAP_1,AP_2,AP_3(以下、APとも記す)は、図6に示すように、アプリケーションプログラムAPを識別するための識別データAP_IDと、当該アプリケーションプログラムのバージョン(世代情報)を示すデータAPP_VER、当該アプリケーションプログラムに含まれるアプリケーションエレメントデータAPEの数を示すデータAPE_NUMと、単数または複数のアプリケーションエレメントデータAPEとによって構成される。
識別データAP_IDは、サービス事業者毎に異なるように決められている。
【0023】
図6に示すように、アプリケーションエレメントデータAPEは、当該アプリケーションエレメントデータAPEのデータサイズを示すデータAPE_SIZEと、当該アプリケーションエレメントデータAPEを識別するための識別データAPE_IDと、当該アプリケーションエレメントデータAPEのバージョンを示すデータAPE_VER、サービス事業者が設定可能な当該アプリケーションエレメントデータAPEの識別データ(タグ)であるデータAPE_TAG、APPテーブルデータを特定するデータAPPT、オプションを設定するデータOPT、データ本体APE_PLとで構成される。
ここで、識別データAPE_IDは、アプリケーションエレメントデータAPEの種別を示すデータAPE_TYPEと、当該種別内でのアプリケーションエレメントデータAPEの識別番号(インスタンス識別番号)を示すデータINS_NUMとで構成される。データINS_NUMは、エンドユーザ(サービス事業者)側で管理される。
例えば、アプリケーションエレメントデータAPEがファイルシステムコンフィグレーションの場合には、データAPE_TYPEが「2」となり、データINS_NUMが「1」となる。これにより、同−のSAMであれば、識別データAPE_IDにより一意にアプリケーションエレメントデータAPEを特定できる。
データAPE_VERは、サービス事業者が任意に設定できる。
また、データAPE_TAGは、個々のアプリケーションプログラムAP内で一意に定義される必要がある。
【0024】
図5に示す外部メモリ7には、上述したアプリケーションプログラムAP(AP_1,AP_2,AP_3)が、SAMユニット9外でAPリソース鍵データK_APR(暗号化鍵データ)によって暗号化されて、設定コマンドによって、外部メモリ7内にアプリケーションプログラム・パッケージAPPとして記憶されている。
APリソース鍵データK_APRとしては、アプリケーションプログラム毎で異なる暗号化鍵データが用いられる。
【0025】
以下、図6を用いて説明したアプリケーションエレメントデータAPEの種別(APE_TYPE)について説明する。
図7は、1つのAP領域内に記憶されたアプリケーションエレメントデータAPEの一例を示す図である。
図7は、データAPE_TYPEの番号と、その内容とを対応付けて示している。
図7に示すように、AP領域内には、例えば、APリソース鍵データK_APR、カードアクセス鍵データ、ファイルシステムコンフィグレーションデータ、SAM相互認証用鍵データ、SAM間鍵パッケージ鍵データ、ICカード操作用マクロコマンドスクリプトプログラム(本発明の処理手順データ)、メモリ分割用鍵パッケージ、エリア登録鍵パッケージ、エリア削除用鍵パッケージ、サービス登録用鍵データ、サービス削除用鍵パッケージ、が、アプリケーションエレメントデータAPEとして記憶されている。
【0026】
・APリソース鍵データK_APR
APリソース鍵データK_APRは、アプリケーションエレメントデータAPEを設定する際の暗号用鍵として使用され、AP領域毎に、アプリケーションエレメントデータAPEを設定するために異なる鍵データK_APRが割り当てられている。
・カードアクセス鍵データ
カードアクセス鍵データは、ICカード3およびICモジュール42のメモリ50に対してのデータの読み書き操作に用いられる鍵データである。
カードアクセス鍵データには、例えば、ICカードシステム鍵データ、ICカードエリア鍵データ、ICカードサービス鍵データおよびICカード縮退鍵データなどがある。
ここで、ICカード縮退鍵データは、、ICカードシステム鍵データと、メモリ50の記憶領域管理用鍵データとを用いて暗号化して生成され、相互認証に用いられる鍵データである。
また、ICカード操作用マクロコマンドスクリプトプログラムで参照される鍵データも、カードアクセス鍵データと同じ種別のアプリケーションエレメントデータAPEに含まれる
【0027】
・ファイルシステムコンフィグレーションデータ
ファイルシステムコンフィグレーションデータとしては、例えば、ログデータ、ネガデータ、ジャーナルデータがある。
ログデータは例えばアプリケーションエレメントデータAPEの利用履歴データであり、ネガデータは例えばICカードの失効情報であり、ジャーナルデータは例えばSAMでの実行履歴である。
例えば、ファイルシステムコンフィグレーションでは、ファイルアクセスの種別(レコードキー指定・ソート・リング)の選択を行い、レコードキーの場合であれば、レコードサイズ、レコード全体件数・レコード署名バージョン・レコード署名メソッドタイプ、レコードデータサイズ、レコード署名鍵を設定する。さらに、外部から本ファイルシステムにデータを書き込む際に署名検証を実施するかの有無の指定などを行う。ここでレコードとは、ファイルデータへの書き込み/読み出しの最小単位である。
【0028】
・SAM相互認証用鍵データ
同一SAM内にあるAP間相互認証にも使用される。
SAM相互認証用鍵データとは、対応するアプリケーションエレメントデータAPEを同一SAM内の他のAPまたは他のSAMからアクセスする際に用いられる鍵データである。
・SAM間鍵パッケージ鍵
SAM間鍵パッケージ鍵とは、SAM間での相互認証後、カードアクセス鍵データなどのデータを交換する際に用いられる暗号化用鍵データである。
・ICカード操作用マクロコマンドスクリプトプログラム
ICカード操作用マクロコマンドスクリプトプログラムは、サービス事業者自身によって生成され、ICカード3に係わる処理の順番やASPサーバ装置19とのやり取りを記述している。ICカード操作用マクロコマンドスクリプトプログラムは、SAMユニット9に設定された後に、SAM8内で解釈され、対応するICカードエンティティデータが生成される。
【0029】
・メモリ分割用鍵パッケージ
メモリ分割用鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、外部メモリ7やICカード3のメモリの記憶領域を分割するために使用するデータである。
・エリア登録鍵パッケージ
エリア登録鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、ICカード3のメモリの記憶領域にエリア登録を行う場合に使用するデータである。
・エリア削除用鍵パッケージ(内部生成)
エリア削除用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
【0030】
・サービス登録用鍵(内部生成)
サービス登録用鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、外部メモリ7のアプリケーションエレメントデータAPEを登録するために用いられる。
サービス登録用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
・サービス削除用鍵パッケージ(内部生成)
サービス削除用鍵パッケージは、外部メモリ7に登録されているアプリケーションエレメントデータAPEを削除するために用いられる。
サービス削除用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
【0031】
図8は、図7に示す各アプリケーションエレメントデータAPEの種別に応じたバージョンを説明するための図である。
図8に示すように、ICカードシステム鍵データ、エリア鍵データおよびサービス鍵データのバージョンは、各鍵データに規定されたバージョンが用いられる。
ICカード縮退鍵データのバージョンは、例えば、SAM8が独自に規定できる。
製造用鍵パッケージのバージョンには、システム鍵データのバージョンが用いられる。
発行用鍵データのバージョンには、IC3aおよびICモジュール42の最上の記憶領域の管理鍵データのバージョンが用いられる。
拡張発行用鍵データのバージョンには、システム鍵データのバージョンが用いられる。
【0032】
分割元パッケージおよび分割パッケージのバージョンには、分割対象となるシステム鍵データが用いられる。
エリア登録用鍵パッケージおよびエリア削除用鍵パッケージのバージョンには、各エリア鍵のバージョンが用いられる。
サービス登録用鍵パッケージおよびサービス削除用鍵パッケージのバージョンには、各サービス鍵のバージョンが用いられる。
鍵変更用パッケージのバージョンには、変更後の新しい鍵データのバージョンが用いられる。
【0033】
以下、上述したアプリケーションエレメントデータAPEのバージョンの管理に用いられる、図5に示すバージョン管理用データ303、並びにアプリケーションエレメントデータAPEについて説明する。
〔バージョン管理の第1の例〕
図9に示すように、アプリケーションエレメントデータAPEが複数のバージョンを有する場合に、当該アプリケーションエレメントデータAPEに対応するバージョン管理用データ303(第1〜第3の発明の管理データ)は、当該アプリケーションエレメントデータAPEに対応するバージョン管理ファイルVMF(第1〜第3の発明のバージョン管理用データ)の識別データAPE_IDと、現在選択されているパージョン値と、バージョン管理ファイルVMFに格納されている最新のバージョン値とを対応付けて示している。
本実施形態では、バージョン管理ファイルVMFは、アプリケーションエレメントデータAPEとして実現される。
【0034】
バージョン管理ファイルVMFは、図9に示すように、バージョンの値(バージョンの識別データ:Version #** )と、当該バージョンのアプリケーションエレメントデータAPEの実体(Element Instance Body #**) (第1〜3の発明の第2のデータモジュール)とをレコード形式で格納している。
SAM8のCPUは、複数のバージョンを有するアプリケーションエレメントデータAPEを用いる場合に、当該アプリケーションエレメントデータAPEのデータAP_IDを基にバージョン管理用データ303にアクセスし、バージョン管理用データ303に格納されたAPE_IDを基にバージョン管理ファイルVMFにアクセスする。そして、バージョン管理ファイルVMFに、指定されたバージョン値をキーとして、バージョン管理ファイルVMF内で、指定されたバージョンのアプリケーションエレメントデータAPEの実体を検索して利用する。
【0035】
〔バージョン管理の第2の例〕
図10に示すように、バージョン管理用データ303は図9の場合と同様に、当該アプリケーションエレメントデータAPEに対応するバージョン管理ファイルVMFの識別データAPE_IDと、現在選択されているパージョン値と、バージョン管理ファイルVMFに格納されている最新のバージョン値とを対応付けて示している。
本実施形態でも、バージョン管理ファイルVMFは、アプリケーションエレメントデータAPEとして実現される。
【0036】
バージョン管理ファイルVMFは、図10に示すように、バージョンの値(バージョンの識別データ:Version #** )と、当該バージョンのアプリケーションエレメントデータAPEの実体(Element Instance Body #**) (第1〜3の発明の第2のデータモジュール)の識別データAPE_IDとを対応付けて示す表データ305を格納している。
SAM8のCPUは、複数のバージョンを有するアプリケーションエレメントデータAPEを用いる場合に、当該アプリケーションエレメントデータAPEのデータAP_IDを基にバージョン管理用データ303にアクセスし、バージョン管理用データ303に格納されたAPE_IDを基にバージョン管理ファイルVMFにアクセスする。そして、当該CPUは、バージョン管理ファイルVMFから、指定されたバージョン値をキーとして、識別データAPE_IDを取得し、当該識別データAPE_IDを用いて、対応するバージョンのアプリケーションエレメントデータAPEの実体にアクセスして利用する。
【0037】
なお、上述した第1および第2の例において、バージョンの指定は、SAM8の外部からコマンドによって、あるいはSAM8の内部の処理によって、設定および変更される。また、SAM8のCPUは、バージョンが明示して指定されていない場合に、バージョン管理用データ303に格納されたバージョン管理ファイルVMF内の最新バージョンを自動的に選択して指定してもよい。
SAM8のCPUは、SAM8の内部あるいは外部から指定された値を、バージョン指定データが示す値に反映させてバージョン値を算出し、当該算出したバージョン値をキーとしてバージョン管理ファイルVMF内を検索してもよい。
【0038】
〔バージョン管理の適用例〕
図11は、バージョン管理の手法をカードアクセス鍵データに適用した場合を説明する。
図11に示すように、カードアクセス鍵データを管理するファイルから暗号処理して得られた鍵パッケージK_Pを、SAM8の汎用レジスタ内で内部生成する。
異なるバージョンのカードアクセス鍵データを格納した鍵パッケージK_P1〜KP3が生成される。
そして、SAM8のCPUは、プログラムに識別データの付いたソート型のファイルシステムを用いてファイルを複数のパッケージに分割し、鍵パッケージK_P1〜K_P3を、それぞれパッケージバージョンP_VER1〜P_VER3と関連付けて外部メモリ7に格納する。
【0039】
〔異なるバージョンの署名鍵データを用いて署名された署名(ログ)データを作成および検証する場合〕
例えば、SAM8は、例えば、ICカード3およびICモジュール42の運用開始後に、カード処理に伴う署名データに用いる署名鍵データが変更になり、新旧の署名鍵データを混在して運用する場合がある。
このとき、署名鍵データは、図9,10に示すように外部メモリ7のバージョン管理用データ303にアプリケーションエレメントデータAPEの実体(エレメント インスタンス ボディ)とそのバージョン番号が記載された表に、バージョン別に管理されている。
SAM8のCPUは、署名ファイルの各レコードに含まれる署名鍵バージョンデータを読み出し、当該署名鍵バージョンデータをキーとして、署名鍵ファイルから、対応する署名鍵データを検索して取得し、当該取得した署名鍵データを用いて署名作成または署名検証処理を行う。
【0040】
すなわち、SAM8のCPUは、例えば、ファイルコンフィグレーション時に、ログファイル内の該当する署名鍵バージョンを特定し、バージョン管理ファイルVMFを用いて、当該署名鍵バージョンに対応する署名鍵ファイルにアクセスし、当該署名鍵ファイルに格納された署名鍵データを用いて、署名作成または署名検証を行う。
【0041】
なお、上述したログファイルには、署名鍵バージョンに対応して、レコード形式で、署名付加の対象となるデータ、並びに署名データが格納されている。
署名データは、上記署名付加の対象となるデータの全部または一部に対して付けられる。
また、SAM8のCPUは、ログファイル内のデータの一部または全体に対して、署名鍵データと所定の暗号アルゴリズムに基づいた署名データを生成し、当該署名データを前記レコードに付加して外部メモリ7に書き込み、前記ログファイルからデータを読み出す場合に、前記書き込み時に用いた署名鍵データと前記暗号アルゴリズムに基づいて署名データを生成し、当該生成した署名データと、当該レコードに付加された署名データとを比較して、当該レコードの正当性、すなわちデータが改竄および欠損していないかを判断する。
【0042】
以下、上述したICカード操作用マクロコマンドスクリプトプログラム(以下、スクリプトプログラムとも記す)について詳細に説明する。
スクリプトプログラムは、SAM8上で動作するサービス事業者15_1,15_2,15_3のアプリケーションプログラムAP_1,AP_2,AP_3、並びに当該アプリケーションプログラムの実行時にICカード3のICモジュール3aおよび携帯通信装置41のICモジュール42が行う処理の手続きを規定するためのプログラムである。
本実施形態では、後述するように、図13に示すように、SAM8内で、スクリプトダウンロードタスク69およびスクリプト解釈タスク70に基づいて処理を行い、AP管理テーブルデータおよびスクリプトプログラムから、サービス事業者15_1,15_2,15_3に関する手続きに用いられるデータやプログラムで構成され、ICカードをアクセスするときのプログラムやデータで構成されるICカードエンティティテンプレートデータ30_1、データを入力するためのプログラムやデータで構成される入力用データブロック31_x1、データを出力するためのプログラムやデータで構成される出力用データブロック32_x2、ログするためのプログラムやデータで構成されるログ用データブロック33_x3および演算処理のためのプログラムやデータで構成される演算定義用データブロック34_x4を生成する。
【0043】
以下、図5に示す外部メモリ7のAP管理用記憶領域221に記憶されたデータについて説明する。
AP管理用記憶領域221へのアクセスは、ファイアウォールFW_4によって制限されている。
なお、ファイアウォールFW_4は、図4に示すファイアウォールFWに対応している。
図14は、AP管理用記憶領域221に記憶されているデータの詳細を説明するための図である。
AP管理用記憶領域221には、図14に示すように、AP管理用テーブルデータ300_1,300_2,300_3(300)と、APPテーブルデータ301_1,301_2,301_3(301)と、AP選択用データ302_1,302_2,302_3(302)、バージョン管理用データ303_1,303_2,303_3(303)、並びに内部リソース割当管理用データ304(第4〜第6の発明のアクセス管理データ)が記憶されている。
ここで、AP管理用テーブルデータ300_1,300_2,300_3と、APPテーブルデータ310_1,310_2,310_3は、例えば、SAM8のセットアップ時に予め登録されている。また、AP管理用テーブルデータ300_1,300_2,300_3と、APPテーブルデータ310_1,310_2,310_の書き換えは、SAM8の管理者のみが行える。
【0044】
AP管理用テーブルデータ300_1,300_2,300_3は、アプリケーションプログラムAP毎に規定されている。
また、APPテーブルデータ310_1,310_2,310_3は、SAM相互認証鍵データ毎に規定されている。
【0045】
図15は、AP管理用テーブルデータ300_1を説明するための図である。
AP管理用テーブルデータ300_2,300_3も、AP管理用テーブルデータ300_1と同じフォーマットを有している。
図15に示すように、ICカード操作用マクロコマンドスクリプトプログラム内で用いられる参照されるアプリケーションエレメントデータAPEの名前APE_Nのそれぞれについて、識別データAPE_ID、内部/外部指定データIEI、識別データSAM_ID、識別データAP_ID、鍵データK_CARDA、鍵データK_SAM、データSET_APP、データFLAG_IPおよびデータFLAG_STRを対応付けて示している。
アプリケーションエレメントデータAPEの名前APE_Nは、サービス事業者15_1,15_2,15_3のアプリケーションプログラムによって提供されるサービス(アプリケーションエレメントデータAPE)に付けられた名前である。名前APE_Nは、各サービス事業者のアプリケーションプログラムが使用できるサービスのサービス番号の替わりに参照される識別子である。
【0046】
ここで、識別データAPE_IDは、アプリケーションエレメントデータAPEの識別データである。
内部/外部指定データIEIは、APEが実体として存在するのか(内部指定)、あるいは他のSAMから参照するのか(外部指定)を区別するフラグである。
識別データSAM_IDは、SAM8が当該アプリケーションエレメントデータAPEに係わる処理を行う際にデータ授受を行う相手側のSAMの識別データである。
図16は、SAM_IDを説明するための図である。
SAM_IDは、4バイトのデータであり、TCP/IPに類似したネットマスクの概念を有している。ネットマスクはビット単位での設定が可能である。
例えば、当該ネットマスクは、図16に示すように、Aクラス、BクラスおよびCクラスの3種類に分類される。そして、同一のネットマスクが割り当てられたSAM相互間では、相互認証に使用する鍵データは1種類でよい。本実施形態では、例えば、同一のサービス事業者に同一のネットマスクが割り当てられる。
図16において、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を規定できる。
【0047】
識別データAP_IDは、SAM8が当該アプリケーションエレメントデータAPEに係わる処理を行う際にデータ授受を行う相手側のSAMで実行されるアプリケーションプログラムの識別データである。
鍵データK_CARDAは、SAM8が当該アプリケーションエレメントデータAPEに係わる処理を行う際にICカード3のメモリ50とデータ授受を行うために用いられる鍵データである。
【0048】
鍵データK_SAMは、SAM8が当該アプリケーションエレメントデータAPEに係わる処理を行う際に、他のSAMとデータ授受を行うために用いられる鍵データである。
データSET_APPは、SAM8が当該アプリケーションエレメントデータAPEに係わる処理を行う際に用いられる(参照される)APPテーブルデータ310_1,310_2,310_3を特定するためのデータである。
【0049】
図15において、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で規定されている。
【0050】
図17は、APPテーブルデータ310_1を説明するための図である。
APPテーブルデータ310_2,310_3、310は、APPテーブルデータ310_1と同じフォーマットを有している。
図17に示すように、APPテーブルデータ310_1は、各アプリケーションエレメントデータAPEについて、その識別データAPE_IDと、当該アプリケーションエレメントデータAPEに対して他のアプリケーションプログラム(他のアプリケーションエレメントデータAPE)から読み出し(READ)、書き込み(WRITE)および実行(EXCUTE)が可能であるか否かを示している。
【0051】
例えば、図17に示すAPPテーブルデータ310_1は、「ServiceB log」については読取りが可、書込みが可、実行(削除)が不可を示している。
【0052】
また、図5に示す外部メモリ7のAP管理用記憶領域221は、例えば、ICカード種別データとAP_IDとを対応付けて示すAP選択用データを記憶している。
ICカード種別データは、図1に示すICカード3の種別を示し、例えば、ICカード3を用いた取り引きの決済を行うクレジットカード会社の識別データである。
【0053】
本実施形態では、ICカード操作用マクロコマンドスクリプトプログラム内に複数のアプリケーションエレメントデータAPEの名前APE_Nを組み合せて新たなアプリケーションエレメントデータを作成したサービス内容を規定(記述)し、これを後述するカード処理に関する各種情報(図23参照)で構成されるICカードエンティティデータ(ジョブ管理用データ)に反映させることで、複数のアプリケーションエレメントデータAPEに対応するサービスを組み合わせたサービスを提供できる。
例えば、ICカード3からデータ読出しを行うサービスと、サーバ装置2にデータ書込みを行うサービスとを組み合わせたサービスを、ICカードエンティティデータ内に定義できる。
【0054】
また、APE_Nあるいはそのサービス番号は、サービス事業者15_1,15_2,15_3によって提供されるサービスを行う際に、ICカード3に発行するICカード3が解釈可能な操作コマンドである。
【0055】
アプリケーションプログラムAP_1は、外部メモリ7に記憶されたAP管理用テーブルデータ300_1および所定のICカード操作用マクロコマンドスクリプトプログラムによって規定される。
アプリケーションプログラムAP_2は、外部メモリ7に記憶されたAP管理用テーブルデータ300_2および所定のICカード操作用マクロコマンドスクリプトプログラムによって規定される。
アプリケーションプログラムAP_3は、外部メモリ7に記憶されたAP管理用テーブルデータ300_3および所定のICカード操作用マクロコマンドスクリプトプログラムによって規定される。
【0056】
また、図5に示す外部メモリ7のAP管理用記憶領域221は、例えば、外部メモリ7に格納されたリソースへのアクセス管理をユーザの特権別あるいは使用目的別に行うために用いられる内部リソース割当管理用データ304を記憶している。
【0057】
図18は、内部リソース割当管理用データ304を説明するための図である。SAM8のCPUは、図18に示す内部リソース割当管理用データ304に基づいて、外部メモリ7の記憶領域、並びに当該領域に記憶されたデータに対してのアクセスを、ユーザの特権別あるいは使用目的別に管理する。
外部メモリ7の記憶領域は、システム領域とユーザ領域とに分けて管理される。
システム領域は、SAM8が内部動作で使用する領域である。
システム領域は、例えば、SAM8の出荷担当者によって、SAM8の固有機器番号、アプリケーションプログラムAPの出荷用鍵が初期設定される。
【0058】
ユーザ領域は、SAM8の使用者がアプリケーションプログラムなどのリソースを設定可能な領域である。
ユーザ領域は、特権ユーザ領域(本発明の第3の記憶領域)、一般ユーザ領域(本発明の第1の記憶領域)、並びに共通ユーザ領域(本発明の第2の記憶領域)に大別される。
特権ユーザ領域は、SAM8の識別データIDなどのSAM8を運用するための基本データを格納するための領域である。
一般ユーザ領域は、ICカード3や携帯通信装置41を使用したサービスを実現するための鍵データや鍵パッケージなどのリソースを格納するための領域である。
共通ユーザ領域は、一般ユーザが共通して使用するSAM8本体のIPアドレスなどのネットワーク情報を格納するための領域である。
【0059】
すなわち、特権ユーザ領域は、SAM8の運用上、特定のユーザによる設定が必要とされる領域であり、共通ユーザ領域は、SAM8全体として共有可能であり、かつ複数のユーザによる設定が可能な領域である。
【0060】
図19は、外部メモリ7の記憶領域を用いた各ユーザによる設定可能項目の一例を説明するための図である。
図19に示すように、出荷担当者は、例えば、識別データAP_IDが「0x0000〜0x000F」の記憶領域に対してアクセス可能であり、一般ユーザ用のAPリソース鍵データK_APRの出荷鍵の設定、並びにSAM8の固有機器番号の設定が可能である。
【0061】
また、特権ユーザは、識別データAP_IDが「0xFFFF」の記憶領域にアクセス可能であり、SAM8のSAM_IDの設定、並びに、特権ユーザ用AP領域運用鍵の設定が可能である。
【0062】
また、一般ユーザは、ユーザ共通領域として識別データAP_IDが「0xFFFE」の領域にアクセス可能であり、一般ユーザ領域として識別データAP_IDが「0x0000〜0x000F」の領域にアクセス可能である。一般ユーザは、当該領域に対して、SAM8のSAM_IDのネットマスク、SAM8のIPアドレスなどのネットワーク情報、APリソース鍵データK_APR、その他のアプリケーションエレメントデータAPEなどの設定が可能である。
ユーザは、当該ユーザに公開された記憶領域のAPリソース鍵データK_APRを受け、それを自分のみが知る値に変更することで、アプリケーションプログラムAP内部のリソースの変更を他からできないようにする。
また、ユーザ共通領域は、各ユーザが自らの一般ユーザ領域に設定を行う際に使用するAPリソース鍵データK_APRを用いてアクセスできるようにする。すなわち、共通の鍵データを用いる。
【0063】
上述した外部メモリ7の記憶領域の管理は、例えば、図18に示す内部リソース割当管理用データ304を用いて、識別データAP_IDおよびAPE_IDを用いて行われる。すなわち、外部メモリ7を、識別データAP_IDおよびAPE_IDを用いて規定されるマトリクス状の領域に分割して管理する。
図18に示す場合は、外部メモリ7の記憶領域のうち、APE_IDが「0x7F06」〜「0xFFFF」までの領域をシステム領域とし、APE_IDが「0x0000」〜「0x7F00」までの領域を一般ユーザ領域として使用する。
また、AP_IDが「0xfffd」のアプリケーションプログラムの記憶領域を、一般ユーザ共通領域として使用する。
【0064】
アプリケーションエレメントデータAPEは、暗号化されたパッケージを各領域別に設定することで、外部メモリ7に格納される。この際、必要なリソースエレメントのみを選択して暗号化することが可能である。
【0065】
以下、SAM8のCPUが、上述した内部リソース割当管理用データ304を用いて、外部メモリ7の記憶領域(リソース)を管理する手順を説明する。
図20は、当該手順を説明するための図である。
ステップST61:
例えば、図1に示すサービス事業者15_1〜15_4などの一般ユーザあるいは特権ユーザなどが、インターネット10に接続されたパーソナルコンピュータを操作して、外部メモリ7内のアクセスを行うアプリケーションプログラムAPを指定し、自らの所有するAPリソース鍵データK_APRを用いて、ASPサーバ装置19を介してSAM8にアクセスを行う。
【0066】
ステップST62:
SAM8のCPUは、ステップST61のアクセス元が、入力されたAPリソース鍵データK_APRがSAM8の暗号・複号部64で認証処理が行われ、指定されたアプリケーションプログラムAPに適合したAPリソース鍵データK_APRを有しているか否かを判断し、有していると判断した場合にはステップST64の処理に進み、有していないと判断した場合にはステップST63の処理に進む。
【0067】
ステップST63:
SAM8のCPUは、当該指定されたアプリケーションプログラムAPへの、当該ユーザによるアプリケーションエレメントデータAPEの設定を許可しない。
【0068】
ステップST64:
SAM8のCPUは、当該指定されたアプリケーションプログラムAPへの、当該ユーザによるアプリケーションエレメントデータAPEの設定を許可する。
【0069】
ステップST65:
SAM8のCPUは、当該ユーザが特権ユーザであるか否かを判断し、特権ユーザであると判断した場合にはステップST66の処理に進み、特権ユーザではないと判断した場合にステップST67の処理に進む。
【0070】
ステップST66:
SAM8のCPUは、当該ユーザに対して、指定されたアプリケーションプログラムAP内の特権ユーザ用のアプリケーションエレメントデータAPEの設定を許可する。
【0071】
ステップST67:
SAM8のCPUは、当該ユーザが一般ユーザであるか否かを判断し、一般ユーザであると判断した場合にはステップST68の処理に進み、一般ユーザではないと判断した場合にステップST69の処理に進む。
【0072】
ステップST68:
SAM8のCPUは、当該ユーザに対して、指定されたアプリケーションプログラムAP内の一般ユーザ用および一般ユーザ共通用のアプリケーションエレメントデータAPEの設定を許可する。
【0073】
ステップST69:
SAM8のCPUは、当該ユーザに対して、システム領域内のアプリケーションエレメントデータAPEの設定を許可する。
【0074】
SAM8〕
SAM8は、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内のデータの暗号化や復号および認証などの実操作には関与しない。
【0075】
パーソナルコンピュータ16_1,16_2,16_3は、後述するスクリプトプログラムをSAM8にダウンロードすることで、それぞれアプリケーションプログラムAP_1,AP_2,AP_3をカスタマイズできる。
【0076】
図21は、図1に示すSAM8の機能ブロック図である。
図21に示すように、SAM8は、ASPS通信インタフェース部60、外部メモリ通信インタフェース部61、バススクランブル部62、乱数発生部63、暗号・復号部64、メモリ65およびCPU66を有する。
SAM8は、耐タンパ性のモジュールである。
【0077】
ASPS通信インタフェース部60は、図1に示すASPサーバ装置19との間のデータ入出力に用いられるインタフェースである。
外部メモリ通信インタフェース部61は、外部メモリ7との間のデータ入出力に用いられるインタフェースである。
バススクランブル部62は、外部メモリ通信インタフェース部61を介してデータを入出力する際に、出力するデータをスクランブルし、入力したデータをデスクランブルする。
乱数発生部63は、認証処理を行う際に用いられる乱数を発生する。
暗号・復号部64は、データの暗号化、並びに暗号化されたデータの復号を行う。
メモリ65は、後述するように、CPU66によって用いられるタスク、プログラム、並びにデータを記憶する。
CPU66は、後述するスクリプトダウンロードタスク、スクリプト解釈タスク、エンティティ生成タスク(ジョブ管理用データ作成タスク)およびICカード手続管理タスク(ジョブ管理用データ管理タスク)などのタスクを実行する。
CPU66は、前述したアプリケーションエレメントデータAPEのバージョン管理処理、並びに、一般ユーザ領域、ユーザ共通領域、特権ユーザ領域の管理処理を行う。
CPU66は、SAMユニット9内での操作コマンドに基づいてSAMユニット9内で規定された処理を行い、ICカード3のICモジュール3aおよび携帯通信装置41のICモジュール42の操作コマンドとに基づいて、ICモジュール3aおよびICモジュール42の処理を制御する。
【0078】
以下、メモリ65に記憶されるタスク、プログラムおよびデータについて説明する。
図22は、メモリ65に記憶されるタスク、プログラムおよびデータを説明するための図である。
図22に示すように、スクリプトダウンロードタスク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を記憶している。
【0079】
スクリプトダウンロードタスク69は、図13に示すように、AP管理用テーブルデータ300_1〜300_3(必要に応じてAPPテーブルデータ310_1〜310_3)を、例えば、各サービス事業者のコンピュータからダウンロードし、これをSAM8に取り込む。
【0080】
スクリプト解釈タスク70は、各サービス事業者毎に、サービス定義テーブルデータ(必要に応じてAPPテーブルデータ310_1〜310_3)およびスクリプトプログラムを用いて、ICカードエンティティテンプレートデータ、入力用データブロック、出力用データブロック、ログ用データブロックおよび演算定義用データブロックを生成する。
各サービス事業者毎に生成されるデータブロックの数は特に限定されない。
【0081】
エンティティ生成タスク71は、例えば、ASPサーバ装置19からエンティティ作成要求を受けると、ICカード3との間でポーリングを行った後に、当該ICカード3とサービス事業者との間の手続き処理に用いるICカードエンティティデータを、当該サービス事業者に対応するICカードエンティティテンプレートデータを用いて生成する。このとき、ICカードエンティティテンプレートデータがクラスとなり、当該クラスのインスタンスとして、ICカードエンティティデータが生成される。
エンティティ生成タスク71によるICカードエンティティデータの生成処理について後に詳細に説明する。
【0082】
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の処理については後に詳細に説明する。
【0083】
スクリプトプログラム21_1〜21_2は、スクリプトダウンロードタスク69によって、例えば、外部メモリ7から入力され、メモリ65に記憶される。
AP管理用テーブルデータ300_1〜300_3は、スクリプトダウンロードタスク69によって、例えば、外部メモリ7から入力され、メモリ65に記憶される。
APPテーブルデータ310_1〜310_3は、スクリプトダウンロードタスク69によって、例えば、外部メモリ7から入力され、メモリ65に記憶される。
【0084】
ICカードエンティティテンプレートデータ30_1〜30_3は、スクリプト解釈タスク70によって生成され、それぞれのサービス事業者に関する手続きのICカードエンティティデータ73_xを生成する際のテンプレート(クラス)として用いられる。
ICカードエンティティデータ73_xは、エンティティ生成タスク71によって、ICカードエンティティテンプレートデータ30_1〜30_3を例えばクラスとして用い、当該クラスのインスタンスとして生成される。
【0085】
入力用データブロック31_x1、出力用データブロック32_x2、ログ用データブロック33_x3および演算定義用データブロック34_x4は、スクリプト解釈タスク70によって生成される。
【0086】
以下、ICカードエンティティデータ73_xについて説明する。
ICカードエンティティデータ73_xは、例えば、ASPサーバ装置19からICカード3と所定のサービス事業者のアプリケーションプログラムを用いた処理の処理要求をSAM8が受けたときに、SAM8内のエンティティ生成タスク71が、既に生成されている対応するサービス事業者のICカードエンティティテンプレートデータを用いて例えばクラスとしてデータ処理して、図23に示すインスタンスが生成される
【0087】
図23は、ICカードエンティティデータ73_xのフォーマットを説明するための図である。
図23に示すように、ICカードエンティティデータ73_xは、管理用ポインタデータ80、エンティティIDデータ81、エンティティステータスデータ(ステータスデータ)82、ICカード種別データ83、APE_N指定データ84、処理順番データ85、処理前データ86および処理後データ87を有する。
【0088】
管理用ポインタデータ80には、メモリ65内でICカードエンティティデータ73_xを管理するための双方向ポインタである。
エンティティIDデータ81は、ICカードエンティティデータ73_xの生成要求、進行状況の確認、削除などのICカードエンティティデータ73_xを用いた一連の処理に用いられる。エンティティIDデータ81は、エンドユーザに渡される返り値ともなる。エンティティIDデータ81は一般的なファイルシステム上のファイルオープン時のディスクリプタに相当する。
【0089】
エンティティステータスデータ82は、ICカード3に関する手続きの進行状態を示す。
ICカードエンティティデータ73_xが持つ基本的な状態には、図24に示すように、ICカード3が利用できるサービスを調べる処理の状態(RS)、SAM8がICカード3を認証する処理の状態(A1)、ICカード3がSAM8を認証する処理の状態(A2)、ICカード3からデータ読み出す処理の状態(R)、ICカード3にデータ書き込む処理の状態(W)がある。
本実施形態では、サービス事業者を調べる処理、SAM8がICカード3を認証する処理、ICカード3がSAM8を認証する処理、ICカード3からデータ読み出す処理、並びにICカード3にデータ書き込む処理のそれぞれがジョブに対応している。
当該ジョブは、後述するように、ICカード手続管理用タスク72によって、実行順番が決定される処理の単位になる。
なお、A1,A2によって、ICカード3とSAM8との間の相互認証処理が構成される。
【0090】
また、本実施形態では、インターネット10での通信時間を考慮して、前述した各基本的な状態を図24の状態遷移図に示されるように、起動後(コマンド発行後)の状態と完了(応答受け取り後)状態とに分けて管理する。
具体的には、インスタンス生成(ICカードエンティティデータ生成)状態、RS起動後状態、RS完了状態、A1起動後状態、A1完了状態、A2起動後状態、A2完了状態、R起動状態、R完了状態、W起動状態、W完了状態、並びにインスタン(ICカードエンティティデータ)消去状態によって、ICカードエンティティデータ73_xを用いた処理状態が管理される。
【0091】
ICカード種別データ83は、当該ICカード3を発行したサービス事業者を特定するデータである。
ICカード種別データ83には、ICカードエンティティデータ73_xの生成時に、前述したスクリプトプログラム内のCIコマンドによって規定されたデータが設定される。
【0092】
サービスタイプエレメントデータ84は、ICカードエンティティデータ73_xを用いた処理で利用する、AP管理用テーブルデータ300_1〜300_3およびAPPテーブルデータ310_1〜310_3内で定義されたアプリケーションエレメントデータAPEを示す。
サービスタイプエレメントデータ84には、ICカードエンティティデータ73_xの生成時に、前述したスクリプトプログラム内のCSコマンドで指定された単数または複数のアプリケーションエレメントデータAPEが設定される。
【0093】
処理順番データ85は、ICカードエンティティデータ73_xを用いた処理で利用するサービス(ジョブ)を実行する順番、すなわち、図24に示す遷移状態を示す。
すなわち、処理順番データ85は、アプリケーションエレメントデータAPEの名前APE_Nを用いて、ICカード3の基本的な操作に対応するジョブの実行順番を示す。
ここで、ジョブは、前述したように、図24に示すRS,A1,A2,R,Wに相当する。ICカード3への具体的操作は、ジョブを用いて指定された処理順番により実現される。例えば、相互認証無しの読み込みのみのICカード3を用いた処理については、処理順番データ85には「RS→R」が設定される。また、相互認証有りの読み込みおよび書き込みの場合には、処理順番データ85には、「RS→A1→A2→R→W」が設定される。
処理順番データ85には、ICカードエンティティデータ73_xの生成時に、前述したスクリプトプログラム内のコマンド内で指定されたサービスエレメントの順番に対応するジョブの順番が設定される。
【0094】
処理前データ86には、ASPサーバ装置19側から、ICカードエンティティデータ73_xを用いた処理を行うための管理用データが設定される
例えば、処理前データ86には、SFデータブロック内に指定されたサービス(アプリケーションエレメントデータAPE)の演算式のポイントが設定される。
また、サービス間演算機能が定義されていない場合には、処理前データ86には、要求処理金額が設定される。
例えば、決済の場合であれば、課金額や付与ポイント数などに関する状態が設定される。
【0095】
処理後データ87は、ASPサーバ装置19側で必要な、ICカードエンティティデータ73_xの処理結果のデータが設定される。例えば決済の場合であれば、決済の正常終了の有無などを示すデータが設定される。
【0096】
以下、通信システム1が行う動作例を説明するが、当該動作例において、アプリケーションエレメントデータAPEを用いた処理は、データAPEに複数のバージョンがある場合に、図9〜図12などを用いて説明したバージョン管理機能により、指定されたバージョンに基づいた処理が行われる。
【0097】
以下、図22に示すICカード手続管理用タスク72による、複数のICカードエンティティデータ73_xを用いて、複数のICカード3に係わる処理を行う手順を説明する。
ICカード手続管理用タスク72は、例えば、図21に示すSAM8のCPU66上で常に起動されている。
図25は、ICカード手続管理用タスク72が行う処理のフローチャートである。
ステップST1:
ICカード手続管理用タスク72は、メモリ65内に存在する複数のICカードエンティティデータ73_xのうち、次に処理を実行する一つのICカードエンティティデータ73_xを選択する。
当該ICカードエンティティデータ73_xの選択方法は、メモリ65内に存在するICカードエンティティデータ73_xを順番に選択してもよいし、優先順位を付けて高い優先順位のものを優先的に選択してもよい。
【0098】
ステップST2:
ICカード手続管理用タスク72は、ステップST1で選択したICカードエンティティデータ73_xのジョブが既に起動されているか否かを判断し、起動されていると判断した場合にはステップST5の処理に進み、起動されていないと判断した場合にはステップST3の処理に進む。
【0099】
ステップST3:
ICカード手続管理用タスク72は、ステップST1で選択したICカードエンティティデータ73_xの図23に示すエンティティステータスデータ82から、当該エンティティデータに関する処理が図24に示す状態遷移図の何れの状態にあるかを判断し、処理順番データ85から、次に実行するジョブを決定する。
このとき処理順番データ85には、前述したように、AP管理用テーブルデータ300_1〜300_3に設定されたICカード手続管理用アプリケーションプログラムのサービスエレメントを用いてジョブの実行順番が規定されている。
【0100】
ステップST4:
ICカード手続管理用タスク72は、ステップST3で選択したジョブを起動する。
ICカード手続管理用タスク72は、図13を用いて前述した入力用データブロック31_x1、出力用データブロック32_x2、ログ用データブロック33_x3および演算定義用データブロック34_x4のうち、当該ジョブに関係するデータブロックを用いて当該ジョブを実行する。
【0101】
このとき、ICカード手続管理用タスク72は、ジョブの実行に当たってICカード3にコマンドを発行する場合に、当該ジョブに対応するICカード手続管理用アプリケーションプログラムのサービスエレメントをキーとしてAP管理用テーブルデータ300_1〜300_3を検索し、当該ICカード手続管理用アプリケーションプログラムのサービスエレメントに対応するサービス番号(ICカード3が解釈可能なICカード3の操作コマンド)を得る。そして、ICカード手続管理用タスク72は、当該得られたサービス番号を用いてICカード3にコマンドを発行する。
また、ICカード手続管理用タスク72は、ICカード3のICモジュール3aの記憶領域へのアクセスに鍵データが必要な場合には、当該ジョブに対応するICカード手続管理用アプリケーションプログラムのサービスエレメントをキーとしてAP管理用テーブルデータ300_1〜300_3を検索し、当該ICカード手続管理用アプリケーションプログラムのサービスエレメントに対応する鍵データを得る。そして、ICカード手続管理用タスク72は、当該鍵データを用いて、ICカード3との間で相互認証、データの暗号化および復号などの処理を行い、ICカード3の所定の記憶領域にアクセスを行う権限を得る。
【0102】
ステップST5:
ステップST5が行われるのは、ICカード手続管理用タスク72が、ICカード3にコマンドを発行し、ICカード3の処理結果を待っているときである。
ICカード手続管理用タスク72は、ICカード3から処理結果を受け取ると、これをICカードエンティティデータ73_xに設定する。
【0103】
ステップST6:
ICカード手続管理用タスク72は、図23に示すICカードエンティティデータ73_xのエンティティステータスデータ82を更新する。
【0104】
このように、本実施形態では、ICカード手続管理用タスク72によって、SAM8内に存在する複数のICカード3についてのICカードエンティティデータ73_xを順に選択しながら、複数のICカード3についての処理を並行して行う。そのため、SAM8は、複数のICカード3を用いた手続きの処理要求を受けた場合でも、これらの処理を同時に進行することができる。
【0105】
図26および図27は、上述した図25のステップST4におけるジョブの実行時に、前述したSAM8がアプリケーションエレメントデータAPEに規定された手順に従って、他のアプリケーションエレメントデータAPEによって規定された処理またはデータにアクセスを行う場合の処理を説明するための図である。
ステップST41:
SAM8が、所定のアプリケーションエレメントデータAPEに応じた処理を実行中に、利用(アクセス)を行うアプリケーションプログラムと、当該アプリケーションプログラム内のアプリケーションエレメントデータAPEとを特定する。
また、当該利用が、図25のST4の処理で図23に示すICカードエンティティデータが選択され、この選択されたタスクが実行されることにより、SAM8のCPUなどで、当該アプリケーションエレメントデータAPEの読み出し、書き込みおよび実行の何れであるかも特定する。
【0106】
ステップST42:
SAM8が、ステップST41で特定したアプリケーションエレメントデータAPEが、当該SAM8内に存在するか否かを判断し、存在しないと判断した場合にはステップST43の処理に進み、存在すると判断した場合にはステップST45の処理に進む。
【0107】
ステップST43:
SAM8が、実行中のアプリケーションプログラムに対応するAP管理用テーブルデータ300_1〜300_3を参照して、対応するサービス(アプリケーションエレメントデータAPE)に対応する鍵データK_SAMを取得し、当該鍵データK_SAMを用いて、利用先のアプリケーションエレメントデータAPEを有するSAM8aと相互認証を行う。
【0108】
ステップST44:
ステップST43の相互認証でSAM8と8aとが互いの正当性を認証すると、SAM8はステップST45の処理に進み、そうでない場合にはステップST50に進む。
【0109】
ステップST45:
SAM8が、実行中のアプリケーションプログラムに対応するAP管理用テーブルデータ300_1〜300_3を参照して、対応するサービス(アプリケーションエレメントデータAPE)に対応する鍵データK_SAMを取得する。
また、SAM8が、ステップST41で特定した利用先のプリケーションエレメントデータAPEについても、同様に、当該アプリケーションエレメントデータAPEに対応するAP管理用テーブルデータ300_1〜300_3を参照して、対応するサービス(アプリケーションエレメントデータAPE)に対応する鍵データK_SAMを取得する。
そして、SAM8が、上記取得した2つの鍵データK_SAMを比較する。
【0110】
ステップST46:
SAM8は、ステップST45の処理で、2つの鍵データK_SAMが一致していると判断した場合にはステップST47の処理に進み、そうでない場合にはステップST50に進む。
【0111】
ステップST47:
SAM8あるいは8aは、ステップST41で特定されたアプリケーションプログラムに対応するAP管理用テーブルデータ300_1〜300_3を参照し、利用されるアプリケーションエレメントデータAPEに対応するAPPテーブルデータ310_1〜310_3を特定する。
【0112】
ステップST48:
SAM8あるいは8aは、ステップST47で特定したAPPテーブルデータ310_1〜310_3を基に、利用(アクセス)されるアプリケーションエレメントデータAPEのアクセス権限を判断する。
具体的には、当該利用されるアプリケーションエレメントデータAPEの読み出し、書き込みおよび実行の権限を判断する。
【0113】
ステップST49:
SAM8あるいは8aは、ステップST48でアクセス権限があると判断した場合にはステップST50の処理に進み、そうでない場合にはステップST51の処理に進む。
【0114】
ステップST50:
SAM8あるいは8aは、ステップST41で特定されたアプリケーションエレメントデータAPEについて、ステップST41で特定された利用を行う。
【0115】
ステップST51:
SAM8あるいは8aは、ステップST41で特定されたアプリケーションエレメントデータAPEについて、ステップST41で特定された利用を行う。
【0116】
また、SAM8は、上述した図25のステップST4におけるジョブの実行時に、前述したSAM8がアプリケーションエレメントデータAPEに規定された手順に従って、ICカード3との間でデータ授受を行う場合には、図17に示すAP管理用テーブルデータ300_1〜300_3を参照して、当該アプリケーションエレメントデータAPEに対応する鍵データK_CADRを取得し、当該鍵データK_CARDを用いて、ICカード3のメモリ50にアクセスを行う。
【0117】
以下、図1に示す通信システム1の全体動作について説明する。
図28および図29は、図1に示す通信システム1の全体動作を説明するための図である。
【0118】
ステップST21:
サービス事業者15_1〜15_3あるいはこれらサービス事業者の依頼を受けた者が、当該サービス事業者がICカード3を用いて行う取り引きについての処理を記述したスクリプトプログラム21_1,21_2,21_3を、例えば、図1に示すパーソナルコンピュータ16_1,16_2,16_3上で作成する。
また、SAM8の管理者が、サービス事業者15_1〜15_3のそれぞれに対応するAP管理用テーブルデータ300_1〜300_3を作成する。
【0119】
ステップST22:
ステップST21で作成されたAP管理用テーブルデータ300_1〜300_3が外部メモリ7に記憶される。
また、ステップST21で作成されたスクリプトプログラム21_1,21_2,21_3が、パーソナルコンピュータ16_1,16_2,16_3から、インターネット10、ASPサーバ装置19およびSAM8を介して、外部メモリ7にダウンロードされる。当該ダウンロードの処理は、図13に示すように、SAM8内のスクリプトダウンロードタスク69によって管理される。
【0120】
ステップST23:
図13に示すSAM8内のスクリプト解釈タスク70によって、各サービス事業者毎に、AP管理用テーブルデータ300_1〜300_3およびスクリプトプログラムを用いて、ICモジュール3a,42が行う処理の手続規定について、AP管理用テーブルデータ300_1〜300_3のいずれかに対応するアプリケーションプログラムエレメントAPE_1〜3が実行されることにより、ICカードエンティティテンプレートデータ、入力用データブロック、出力用データブロック、ログ用データブロックおよび演算定義用データブロックが生成される。
これら生成されたデータは、図21に示すSAM8のメモリ65に格納される。
【0121】
ステップST24:
ユーザにICカード3が発行される。
図5に示すICカード3のICモジュール3aには、ユーザが契約を行ったサービス事業者との取り引きに用いられる鍵データが記憶されている。
なお、ユーザとサービス事業者との間の契約は、ICカード3の発行後に、インターネット10などを介して行ってもよい。
【0122】
ステップST25:
例えば、ユーザがパーソナルコンピュータ5を用いてインターネット10を介してサーバ装置2にアクセスを行い、商品を購入しようとした場合に、サーバ装置2がインターネット10を介してASPサーバ装置19に処理要求を出す。
ASPサーバ装置19は、サーバ装置2から処理要求を受けると、インターネット10を介してパーソナルコンピュータ5にアクセスを行う。そして、カードリーダ・ライタ4が出したICカード3についての処理要求が、パーソナルコンピュータ5、インターネット10およびASPサーバ装置19を介してSAM8に送信される。
【0123】
ステップST26:
ASPサーバ装置19からSAM8にエンティティ作成要求が出される。当該エンティティ作成要求には、ICカード3の発行元を示すデータが格納されている。
【0124】
ステップST27:
SAM8は、エンティティ作成要求を受けると、ICカード3との間でポーリングを行う。
【0125】
ステップST28:
SAM8のエンティティ生成タスク71は、ポーリング終了後に、SAM8内に存在するICカードエンティティデータ73_xの数が、スクリプトプログラムのSCコマンドによって規定された最大数以内であるか否かを判断し、最大数以内であればステップST29の処理に進み、そうでない場合には処理を終了する。
【0126】
ステップST29:
エンティティ生成タスク71が、例えば、エンティティ作成要求に格納されたICカード3の発行元を示すデータに基づいて、何れのサービス事業者のICカードエンティティテンプレートデータを用いるかを特定し、当該特定したICカードエンティティテンプレートデータを用いて、エンティティテンプレートデータを例えばクラスとしてデータ処理して、図23に示すICカードエンティティデータ73_xを生成する。
これは、図24に示すインスタンス生成に対応している。
【0127】
ステップST30:
SAM8からASPサーバ装置19に、ステップST29で生成したICカードエンティティデータ73_xのエンティティIDが出力される。
【0128】
ステップST31:
SAM8のICカード手続管理用タスク72によって、ICカード3のICカードエンティティのフォーマットされた各項目が検索されることによりICカード3で利用可能なサービスが調べられる。
これは、図24に示すジョブRSに対応した処理である。
【0129】
ステップST32:
SAM8のICカード手続管理用タスク72がICカード3の正当性を認証する。
これは、図24に示すジョブA1に対応した処理である。
【0130】
ステップST33:
ICカード3がSAM8の正当性を認証する。
これは、図24に示すジョブA2に対応した処理である。
ステップST32,ST33によって、ICカード3とSAM8との間の相互認証が行われる。
このとき、前述したように、SAM8で実行されているアプリケーションエレメントデータAPEに応じて、図15に示すAP管理用テーブルデータ300_1〜300_3が参照されて、鍵データK_CARDが取得され、当該鍵データK_CARDを用いてSAM8とICカード3のCPU51との間で相互認証が行われる。
【0131】
ステップST34:
SAM8のICカード手続管理用タスク72が、ICカード3との間で、手続きに必要なデータの読み書きを行う。
これは、図24に示すジョブR,Wに対応した処理である。
また、ICカード手続管理用タスク72は、ICカードエンティティデータ73_xの処理前データ86に基づいて特定した演算式を用いて、ICカード3から読み出したデータを用いて所定の演算処理を行う。
【0132】
ステップST35:
SAM8のICカード手続管理用タスク72が、ステップST34の処理結果をASPサーバ装置19に出力する。
【0133】
ステップST36:
例えば、ICカード手続管理用タスク72が、ICカードエンティティデータ73_xを消去する。
【0134】
以上説明したように、通信システム1およびSAMユニット9によれば、アプリケーションエレメントデータAPEにバージョンの概念を導入することにより、カード操作用鍵・発行用鍵パッケージのバージョン管理が可能となる。
これにより、SAM8を使用するサービス事業者がバージョン毎に鍵のAPE_IDをAPリソースとして個別に定義する作業が不要となるため、管理の負担が軽減される。例えば、異なるSAM8間でカードの分割用パッケージを授受する場合が想定される。
【0135】
また、通信システム1およびSAMユニット9によれば、アプリケーションエレメントデータAPEにタグの概念を導入することにより、バージョンの管理になじまないアプリケーションエレメントデータAPEの参照が可能となる。例えば、サービス事業者が、APE_IDとAPE_TAGをアプリケーションプログラムに定義すれば、タグにより参照することが可能となる。よって、アプリケーションプログラムの管理法やアクセス法に精通していないサービス事業者への敷居を下げる効果が期待できる。
また、カードを論理的に分割する鍵パッケージは、分割後の情報を一意に特定する情報をすべて含んでいない。よって、SAM8間で鍵パッケージを含めた分割情報を特定するためには、サービス事業者間で合意された情報をタグに反映することが不可欠となる。
【0136】
また、通信システム1およびSAMユニット9によれば、AP_IDとAPE_IDの組み合わせにより、システム領域、特権ユーザ領域、一般ユーザ領域に分割することが可能となる。さらに、暗号モジュールの出荷時作業(機器番号等の設定)、第1次運用オペレータ(特権ユーザ)での作業(暗号モジュールのID等の設定)、第2次運用オペレータ(一般ユーザ)での作業(実現したいカードを用いたサービス等の設定)とオペレータの責任範囲に応じた管理が可能な機構を提供することが可能となる。これにより、暗号モジュールが階層性を持つ複数のユーザを前提として運用することが可能となる。
【0137】
また、通信システム1およびSAMユニット9によれば、一般ユーザ領域を共通領域とユーザ固有領域に分割することにより、暗号モジュールにネットワーク設定情報等の共通のデータを全APリソース所属する全事業者間で一元的に管理することが可能となる。。これにより、個々のユーザが暗号モジュールに関する共通の項目を管理することが可能となる。また、共通領域に設定するAPリソース鍵は、ユーザ固有の鍵と兼用にすることができるため、サービス事業者の鍵管理を簡素化することができる。
【0138】
また、通信システム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の処理負担を軽減できる。
【0139】
以下、図30〜33を参照して、実施形態のうち、本発明の特徴に係わる部分について、簡単にまとめる。
図30に示すように、ファイルシステム500内において各ファイルに世代情報を付加する。世代情報は、ある開始値を持ち、以降世代が増える毎にある増分あるいは減分を加算する方法や、世代が追加された時点の日付等を利用する方法等がある。また、これらを併用してもよい。
アプリケーション501からは、世代によらず同一のファイル名でアクセスされる。
選択部502は、いずれかの世代のファイルを選択し、アプリケーション501からアクセス可能とする。ファイル名を選択するとき、世代を指定する必要があるが、アクセスのたび世代を指定する方法と、カレントの世代を保持しておき、その世代をアクセスする方法である。図30において、世代指定情報504は、カレントの世代を保持する手段である。カレントの世代に対して、他の世代を指定する方法として、カレント世代を基準として、目的のファイルの世代との差分で指定するように出来る。
【0140】
また、図31に示すように、ファイル改竄検出を行う場合に、各世代のファイル毎に署名を付加する。選択部502によってファイルを書き込む際に、署名鍵510に基づき、署名生成検証部511内の特定のアルゴリズムで署名を生成して、ファイルに挿入する。読み出す際には、署名鍵510に基づき、署名生成検証部511内の特定のアルゴリズムで署名を検証し、署名が正しくない場合には、そのメッセージをアプリケーション501へ渡す。
署名検証により、ファイルの改竄を検証できるほか、ファイルが機器の何らかの異常により一部が欠損した場合であっても、それを検出することが出来る。
【0141】
また、図32に示すように、ファイルシステム500を含む機器がネットワーク520に接続され、上位機器521によりファイルシステム500がアクセスされる場合を示す。
署名を付加することにより、ネットワーク520上でのデータの改竄、欠損を検出することが出来る。
例えば、図33に示すように、各ファイル内にレコードが複数存在する場合には、各レコードに署名を付加することが出来る。これにより、レコード毎に署名の検証を行うことが出来るため、特にネットワーク環境でファイルをアクセスする場合等で、ネットワークの状況が不安定な状況においても、上位機器側で受け取ったレコードまでで処理を行うことが可能となる。
【0142】
【発明の効果】
以上説明したように、本発明によれば、ICなどの集積回路を用いたサービスを提供する際に、サーバ装置上で動作するアプリケーションプログラムのセキュリティを高めることができるデータ処理装置およびその方法とプログラムを提供することができる。
また、本発明によれば、複数のバージョンのデータモジュールが混在した状態で適切に動作できるデータ処理装置およびその方法とプログラムを提供することができる。
また、本発明によれば、アプリケーションプログラムに対して設定を行うユーザを、セキィリティの観点から適切に規制できるデータ処理装置およびその方法とプログラムを提供することができる。
【図面の簡単な説明】
【図1】図1は、本実施形態の通信システムの全体構成図である。
【図2】図2は、図1に示すICカードの機能ブロック図である。
【図3】図3は、図2に示すメモリを説明するための図である。
【図4】図4は、図1に示すSAMのソフトウェア構造を説明するための図である。
【図5】図5は、図1に示す外部メモリの記憶領域を説明するための図である。
【図6】図6は、図5に示すアプリケーションプログラムAPを説明するための図である。
【図7】図7は、図6に示すアプリケーションエレメントデータAPEの種別を説明するための図である。
【図8】図8は、図7に示す種別に対応したバージョンを説明するための図である。
【図9】図9は、図1に示すSAMにおけるアプリケーションエレメントデータのバージョン管理の第1の例を説明するための図である。
【図10】図10は、図1に示すSAMにおけるアプリケーションエレメントデータのバージョン管理の第2の例を説明するための図である。
【図11】図11は、図9に示すバージョン管理の適用例を説明するための図である。
【図12】図12は、ログデータのバージョン管理を説明するための図である。
【図13】図13は、示すICカード操作用マクロコマンドスクリプトプログラムで使用されるコマンドを説明するための図である。
【図14】図14は、図5に示すAP管理用記憶領域を説明するための図である。
【図15】図15は、図14に示すAP管理用テーブルデータを説明するための図である。
【図16】図16は、SAM_IDを説明するための図である。
【図17】図17は、図14に示すAPPテーブルデータを説明するための図である。
【図18】図18は、図14に示す内部リソース割当管理用データを説明するための図である。
【図19】図19は、ユーザと、当該ユーザが設定可能な項目との対応関係を説明するための図である。
【図20】図20は、図18に示す内部リソース割当管理用データを用いたユーザ管理を説明するためのフローチャートである。
【図21】図21は、図1に示すSAMの機能ブロック図である。
【図22】図22は、図21に示すメモリに記憶されるタスク、プログラムおよびデータを説明するための図である。
【図23】図23は、ICカードエンティティデータ73_xのフォーマットを説明するための図である。
【図24】図24は、図23に示すエンティティステータスデータの状態遷移を説明するための図である。
【図25】図25は、ICカード手続管理用タスクが行う処理のフローチャートである。
【図26】図26は、図25のステップST4におけるジョブの実行時に、SAMがアプリケーションエレメントデータAPEに規定された手順に従って、他のアプリケーションエレメントデータAPEによって規定された処理またはデータにアクセスを行う場合の処理を説明するための図である。
【図27】図27は、図25のステップST4におけるジョブの実行時に、SAMがアプリケーションエレメントデータAPEに規定された手順に従って、他のアプリケーションエレメントデータAPEによって規定された処理またはデータにアクセスを行う場合の処理を説明するための図である。
【図28】図28は、図1に示す通信システムの全体動作を説明するための図である。
【図29】図29は、図1に示す通信システムの全体動作を説明するための図である。
【図30】図30は、図1に示す実施形態におけるバージョン管理の概要を説明するための図である。
【図31】図31は、図1に示す実施形態における署名処理の概要を説明するための図である。
【図32】図32は、図1に示す実施形態における上記機器との間の署名処理の概要を説明するための図である。
【図33】図33は、図1に示す実施形態における上記機器との間の署名処理の概要を説明するための図である。
【符号の説明】
1…通信システム、2…サーバ装置、3…ICカード、3a…ICモジュール、4…カードリーダ・ライタ、5…パーソナルコンピュータ、7,7a…外部メモリ、8…SAM、9,9a…SAMユニット、15_1〜15_3…サービス事業者、19…ASPサーバ装置、41…携帯通信装置、42…ICモジュール

Claims (26)

  1. アプリケーションプログラムを実行し、該実行が行われるモジュール内の所定の集積回路との間で暗号化されたデータの授受を行い、前記集積回路と協動して前記集積回路内のメモリからデータの読み出しまたは前記集積回路内のメモリへのデータの書き込みを行う所定のサービスであって、少なくとも、(1)処理対象のカードから自動的にバージョンの値を取得するか、またはバージョンの値を暗号モジュールに明示的に与える処理、(2)前記バージョンの値を検索用のキーとして所望する暗号化の鍵値をソート型ファイルシステム内を検索する処理、(3)当該検索の結果得られた暗号化の鍵値を利用して暗号モジュールが処理対象の相互認証を含むカードへの処理を実施する処理、(4)特定したバージョン管理用データの表データから指定されたバージョンの識別データをキーとして対応する第2のデータのアプリケーションプログラムIDを検索し、当該検索によって得た識別データを基に対応する前記第2のデータを得て前記実行が行われるモジュールへの前記所定のサービスに関する処理を行うことのいずれかを含む、所定のサービスを提供するデータ処理装置であって、
    前記授受されるデータを暗号化する複数の第1のデータの各々について複数のバージョンが存在する場合に、前記第1のデータの複数のバージョンを表す情報と前記複数のバージョンにそれぞれ対応する前記第2のデータとの対応関係を表すバージョン管理用データと、前記第1のデータとそれに対応する前記バージョン管理用データとの対応関係を表す管理データとを記憶する記憶回路と、
    前記データ処理装置の内部あるいは外部から指定される前記第1のデータのバージョンを表す情報をキーとして、前記管理データを参照して前記バージョン管理用データを特定し、当該特定したバージョン管理用データを参照して第1のデータ実体または前記第1のデータを識別する情報である前記第2のデータを特定し、前記特定した第2のデータを用いて前記暗号化されたデータの復号を行い、前記実行が行われるモジュールへの前記所定のサービスに関する処理を行う処理回路と
    を有するデータ処理装置。
  2. 前記処理回路は、前記バージョン管理用データに含まれるバージョン指定データによって指定されたバージョンに対応する前記第2のデータを用いて前記所定のサービスに関する処理を行う、
    請求項1に記載のデータ処理装置。
  3. 前記処理回路は、前記データ処理装置の内部あるいは外部から指定されたバージョン値と、前記バージョン指定データが示す値とを用いてバージョン値を算出して得たバージョン値に対応する前記第2のデータを用いて前記所定のサービスに関する処理を行う、
    請求項2に記載のデータ処理装置。
  4. 前記バージョン管理用データは、前記バージョンの識別データと、それに対応する前記第2のデータとをレコード形式で保持し、
    前記処理回路は、
    前記管理データを参照して前記バージョン管理用データを特定し、
    当該特定したバージョン管理用データから、指定されたバージョンの識別データをキーとして、対応する前記第2のデータを検索し、
    当該検索によって得た前記第2のデータを用いて、前記実行が行われるモジュールへの前記所定のサービスに関する処理を行う
    請求項1に記載のデータ処理装置。
  5. 前記バージョン管理用データは、前記バージョンの識別データと、当該バージョンに対応する前記第2のデータのアプリケーションプログラムとを対応付けて示す表データを有し、
    前記処理回路は、
    前記管理データを参照して前記バージョン管理用データを特定し、
    当該特定したバージョン管理用データの前記表データから、指定されたバージョンの識別データをキーとして、対応する前記第2のデータのアプリケーションプログラムIDを検索し、
    当該検索によって得た識別データを基に、対応する前記第2のデータを得て、前記実行が行われるモジュールへの前記所定のサービスに関する処理を行う、
    請求項1に記載のデータ処理装置。
  6. 前記第2のデータのアプリケーションプログラムIDは、当該第2のデータに対応する前記第1のデータの識別データと、前記バージョンの識別データとから構成される、
    請求項5に記載のデータ処理装置。
  7. 前記処理回路は、当該データ処理装置の外部から通信インターフェースを介してコマンドを受けて、前記アプリケーションエレメントデータIDを設定する、
    請求項5に記載のデータ処理装置。
  8. 前記処理回路は、当該データ処理装置の外部から通信インターフェースを介してコマンドを受けて、前記バージョンの識別データを設定する、
    請求項5に記載のデータ処理装置。
  9. 前記第1のデータは、鍵データを有する前記アプリケーションエレメントデータであり、
    前記バージョンの識別データは、前記鍵データの識別データと関連付けられている、
    請求項5に記載のデータ処理装置。
  10. 前記第1のデータは、署名鍵データを有する前記アプリケーションエレメントデータであり、
    前記処理回路は、
    前記管理データを参照して、当該第1のデータに対応する前記バージョン管理用データを特定し、
    当該特定したバージョン管理用データを用いて、前記データ処理装置の内部あるいは外部から指定されたバージョンに対応する前記第2のデータにアクセスし、
    当該第2のデータに格納されたバージョンの署名鍵データを用いて、署名作成処理または署名検証処理を行う、
    請求項1に記載のデータ処理装置。
  11. 前記処理回路は、前記第1のデータの全体あるいは一部に対して、その正当性の有無を検証するために、前記署名鍵データを用いた署名作成処理または署名検証処理を行う、
    請求項10に記載のデータ処理装置。
  12. 前記第1のデータ内のデータが単数または複数のレコードから構成されている場合に、
    前記処理回路は、
    前記レコードのそれぞれに、前記レコード内のデータの一部または全体に対して、前記署名鍵データと所定の暗号アルゴリズムに基づいた署名データを生成し、
    当該署名データを前記レコードに付加して前記記憶回路に書き込み、
    前記第1のデータのレコードを前記記憶回路から読み出す場合に、前記書き込み時に用いた署名鍵データと前記暗号アルゴリズムに基づいて署名データを生成し、
    当該生成した署名データと、当該レコードに付加された署名データとを比較して、当該レコードの正当性を判断する、
    請求項11に記載のデータ処理装置。
  13. 前記第1のデータは、前記暗号化されたデータを復号したデータを用いて行われた前記モジュールへの前記所定のサービスに関する処理の履歴データを有するプログラムデータ、前記記憶回路に対して前記暗号化されたデータを復号したデータを登録する手順を示したプログラムデータ、前記記憶回路から前記暗号化されたデータを復号したデータの登録を削除する手順を示したプログラムデータ、並びに前記アプリケーションプログラムを記憶する前記記憶回路を規定するための手順を示したプログラムデータのうち少なくとも一つである
    請求項1に記載のデータ処理装置。
  14. 記憶手段と処理手段とを有するコンピュータの前記処理手段が、アプリケーションプログラムを実行し、該実行が行われるモジュール内の所定の集積回路との間で暗号化されたデータの授受を行い、前記集積回路と協動して前記集積回路内のメモリからデータの読み出しまたは前記集積回路内のメモリへのデータの書き込みを行う所定のサービスであって、少なくとも、(1)処理対象のカードから自動的にバージョンの値を取得するか、またはバージョンの値を暗号モジュールに明示的に与える処理、(2)前記バージョンの値を検索用のキーとして所望する鍵値をソート型ファイルシステム内を検索する処理、(3)当該検索の結果得られた鍵値を利用して暗号モジュールが処理対象の相互認証を含むカードへの処理を実施する処理、(4)特定したバージョン管理用データの表データから指定されたバージョンの識別データをキーとして対応する第2のデータのアプリケーションプログラムIDを検索し、当該検索によって得た識別データを基に対応する前記第2のデータを得て前記実行が行われるモジュールへの前記所定のサービスに関する処理を行うことのいずれかを含む、所定のサービスを提供する、コンピュータを用いたデータ処理方法であって、
    前記記憶回路は、前記授受されるデータを暗号化する複数の第1のデータの各々について複数のバージョンが存在する場合に、前記第1のデータの複数のバージョンを表す情報と前記複数のバージョンにそれぞれ対応する第2のデータとの対応関係を表すバージョン管理用データと、前記第1のデータとそれに対応する前記バージョン管理用データとの対応関係を表す管理データとを記憶し、
    前記処理手段は、前記データ処理装置の内部あるいは外部から指定される前記第1のデータのバージョンを表す情報をキーとして、前記管理データを参照して前記バージョン管理用データを特定し、当該特定したバージョン管理用データを参照して、第1のデータ実体または前記第1のデータを識別する情報である前記第2のデータを特定し、前記特定した第2のデータを用いて前記暗号化されたデータの復号を行い、前記実行が行われるモジュールへの前記所定のサービスに関する処理を行う、
    データ処理方法。
  15. 前記バージョン管理用データは、前記バージョンの識別データと、それに対応する前記第2のデータとをレコード形式で保持し、
    前記処理手段において、
    前記管理データを参照して前記バージョン管理用データを特定し、
    当該特定したバージョン管理用データから、指定されたバージョンの識別データをキーとして対応する前記第2のデータを検索し、
    当該検索によって得た前記第2のデータを用いて前記実行が行われるモジュールへの前記所定のサービスに関する処理を行う、
    請求項14に記載のデータ処理方法。
  16. 前記バージョン管理用データは、前記バージョンの識別データと、当該バージョンに対応する前記第2のデータのアプリケーションプログラムとを対応付けて示す表データを有し、
    前記処理手段において、
    前記管理データを参照して前記バージョン管理用データを特定し、
    当該特定したバージョン管理用データの前記表データから、指定されたバージョンの識別データをキーとして、対応する前記第2のデータのアプリケーションプログラムIDを検索し、
    当該検索によって得た識別データを基に対応する前記第2のデータを得て前記実行が行われるモジュールへの前記所定のサービスに関する処理を行う、
    請求項14に記載のデータ処理方法。
  17. 記憶手段と処理手段とを有するコンピュータの前記処理手段が、アプリケーションプログラムを実行し、該実行が行われるモジュール内の所定の集積回路との間で暗号化されたデータの授受を行い、前記集積回路と協動して前記集積回路内のメモリからデータの読み出しまたは前記集積回路内のメモリへのデータの書き込みを行う所定のサービスであって、少なくとも、(1)処理対象のカードから自動的にバージョンの値を取得するか、またはバージョンの値を暗号モジュールに明示的に与える処理、(2)前記バージョンの値を検索用のキーとして所望する鍵値をソート型ファイルシステム内を検索する処理、(3)当該検索の結果得られた鍵値を利用して暗号モジュールが処理対象の相互認証を含むカードへの処理を実施する処理、(4)特定したバージョン、管理用データの表データから指定されたバージョンの識別データをキーとして対応する第2のデータのアプリケーションプログラムIDを検索し、当該検索によって得た識別データを基に対応する前記第2のデータを得て前記実行が行われるモジュールへの前記所定のサービスに関する処理を行うことのいずれかを含む、所定のサービスを提供する手順をコンピュータに実行させるプログラムであって、
    前記授受されるデータを暗号化する複数の第1のデータの各々について複数のバージョンが存在する場合に、前記第1のデータの複数のバージョンを表す情報と前記複数のバージョンにそれぞれ対応する第2のデータとの対応関係を表すバージョン管理用データと、前記第1のデータとそれに対応する前記バージョン管理用データとの対応関係を表す管理データとを前記記憶手段に記憶する手順と、
    前記コンピュータの内部あるいは外部から指定される前記第1のデータのバージョンを表す情報をキーとして、前記管理データを参照して前記バージョン管理用データを特定し、当該特定したバージョン管理用データを参照して、第1のデータ実体または前記第1のデータを識別する情報である前記第2のデータを特定し、前記特定した第2のデータを用いて前記暗号化されたデータの復号を行い、前記実行が行われるモジュールへの前記所定のサービスに関する処理を行う手順と
    をコンピュータに実行させるプログラム。
  18. 前記バージョン管理用データは、前記バージョンの識別データと、それに対応する前記第2のデータとをレコード形式で保持し、
    前記管理データを参照して前記バージョン管理用データを特定し、当該特定したバージョン管理用データから、指定されたバージョンの識別データをキーとして、対応する前記第2のデータを検索し、当該検索によって得た前記第2のデータを用いて前記所定のサービスに関する処理を行う手順とをコンピュータに実行させる、
    請求項17に記載のプログラム。
  19. 前記バージョン管理用データは、前記バージョンの識別データと、当該バージョンに対応する前記第2のデータのアプリケーションプログラムとを対応付けて示す表データを有し、
    前記管理データを参照して前記バージョン管理用データを特定し、当該特定したバージョン管理用データの前記表データから、指定されたバージョンの識別データをキーとして、対応する前記第2のデータのアプリケーションプログラムIDを検索し、当該検索によって得た識別データを基に、対応する前記第2のデータを得て前記所定のサービスに関する処理を行う手順をコンピュータに実行させる、
    を有する請求項17に記載のプログラム。
  20. 複数の第1のデータからそれぞれ構成された、第2のデータを用いて、通信インターフェースを介して集積回路と通信して処理を行うデータ処理装置であって、
    複数の第1のユーザそれぞれに対応した第1の記憶領域が設けられている、前記第2のデータを記憶する複数の第1の記憶領域と、前記複数の第1のユーザによって共用される前記第2のデータを記憶する第2の記憶領域と、特権ユーザによってのみアクセス許可される前記第2のデータを記憶する第3の記憶領域とを有する記憶回路と、
    前記ユーザが、自らの所有するアプリケーションエレメントデータIDを用いて、アクセスを行う前記第2のデータを指定したとき、前記第1の記憶領域、前記第2の記憶領域および前記第3の記憶領域、並びに、当該第3の記憶領域に記憶された前記第2のデータに対してのアクセスを、ユーザの特権別にアプリケーションエレメントデータIDを用いてそれぞれ規定したアクセス管理データに基づいて、前記ユーザが、前記記憶回路の指定された記憶領域に適合したアプリケーションエレメントデータIDを有しているか判断されてアクセス許否を決定する処理回路と
    を有するデータ処理装置。
  21. 前記第1の記憶領域に記憶された前記第2のデータは、当該第2のデータに対応する前記第1のユーザによって所定の鍵データを用いて暗号化されている
    請求項20に記載のデータ処理装置。
  22. 前記処理回路は、前記第1の記憶領域に記憶された前記第2のデータの設定を行う鍵データを用いて該鍵データの認証が許可されたとき前記第2の記憶領域に記憶された前記第2のデータの設定を行うことを許可する
    請求項20に記載のデータ処理装置。
  23. 記憶手段と、信号処理手段とを有するコンピュータを用いて、複数の第1のデータからそれぞれ構成された、第2のデータを用いて、通信インターフェースを介して前記集積回路と通信して処理を行うデータ処理方法であって、
    前記記憶手段は、複数の第1のユーザそれぞれに対応した第1の記憶領域が設けられている、前記第2のデータを記憶する複数の第1の記憶領域と、前記複数の第1のユーザによって共用される前記第2のデータを記憶する第2の記憶領域と、特権ユーザによってのみアクセス許可される前記第2のデータを記憶する第3の記憶領域とを有し、
    前記処理手段は、前記ユーザが、自らの所有するアプリケーションエレメントデータIDを用いて、アクセスを行う前記第2のデータを指定したとき、前記第1の記憶領域、前記第2の記憶領域および前記第3の記憶領域、並びに、当該第3の記憶領域に記憶された前記第2のデータに対してのアクセスを、ユーザの特権別にアプリケーションエレメントデータIDを用いてそれぞれ規定したアクセス管理データに基づいて、前記ユーザが、前記記憶回路の指定された記憶領域に適合したアプリケーションエレメントデータIDを有しているか判断されてアクセス許否を決定する
    データ処理方法。
  24. 前記第1の記憶領域に記憶された前記第2のデータは、当該第2のデータに対応する前記第1のユーザによって所定の鍵データを用いて暗号化されている
    請求項23に記載のデータ処理方法。
  25. 前記第1の記憶領域に記憶された前記第2のデータの設定を行う鍵データを用いて該鍵データの認証が許可されたとき前記第2の記憶領域に記憶された前記第2のデータの設定を行うことを許可する
    請求項23に記載のデータ処理方法。
  26. 記憶手段と、メモリを有する集積回路で構成された処理手段とを有するコンピュータの前記処理手段において、複数の第1のデータからそれぞれ構成された、第2のデータを用いて、通信インターフェースを介して前記集積回路と通信して処理を行う手順を前記コンピュータに実行させるプログラムであって、
    前記記憶手段は、複数の第1のユーザそれぞれに対応した第1の記憶領域が設けられている、前記第2のデータを記憶する複数の第1の記憶領域と、前記複数の第1のユーザによって共用される前記第2のデータを記憶する第2の記憶領域と、特権ユーザによってのみアクセス許可される前記第2のデータを記憶する第3の記憶領域とを有し、
    前記ユーザが、自らの所有するアプリケーションエレメントデータIDを用いて、アクセスを行う前記第2のデータを指定したとき、前記第1の記憶領域、前記第2の記憶領域および前記第3の記憶領域、並びに、当該第3の記憶領域に記憶された前記第2のデータに対してのアクセスを、ユーザの特権別にアプリケーションエレメントデータIDを用いてそれぞれ規定したアクセス管理データに基づいて、前記ユーザが、前記記憶回路の指定された記憶領域に適合したアプリケーションエレメントデータIDを有しているか判断されてアクセス許否を決定する手順を
    コンピュータに実行させる、プログラム。
JP2001333468A 2001-10-30 2001-10-30 データ処理装置およびその方法とプログラム Expired - Fee Related JP4055393B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2001333468A JP4055393B2 (ja) 2001-10-30 2001-10-30 データ処理装置およびその方法とプログラム
SG200206450A SG127686A1 (en) 2001-10-30 2002-10-24 Data-processing apparatus, data-processing method and program
US10/282,109 US7478435B2 (en) 2001-10-30 2002-10-29 Version management system for multiple application elements
CNB021479399A CN1282071C (zh) 2001-10-30 2002-10-30 数据处理装置、数据处理方法和程序
HK03107985A HK1057793A1 (en) 2001-10-30 2003-11-05 Data-processing apparatus, data-processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001333468A JP4055393B2 (ja) 2001-10-30 2001-10-30 データ処理装置およびその方法とプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2007281032A Division JP2008102943A (ja) 2007-10-29 2007-10-29 データ処理装置およびその方法とプログラム

Publications (2)

Publication Number Publication Date
JP2003140760A JP2003140760A (ja) 2003-05-16
JP4055393B2 true JP4055393B2 (ja) 2008-03-05

Family

ID=19148719

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001333468A Expired - Fee Related JP4055393B2 (ja) 2001-10-30 2001-10-30 データ処理装置およびその方法とプログラム

Country Status (5)

Country Link
US (1) US7478435B2 (ja)
JP (1) JP4055393B2 (ja)
CN (1) CN1282071C (ja)
HK (1) HK1057793A1 (ja)
SG (1) SG127686A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3818269B2 (ja) * 2003-03-28 2006-09-06 ブラザー工業株式会社 情報処理装置、及び、プログラム
US7793227B2 (en) * 2003-08-12 2010-09-07 Yahoo! Inc. Method and system of providing customizable buttons
US7421488B2 (en) * 2003-08-14 2008-09-02 International Business Machines Corporation System, method, and computer program product for centralized management of an infiniband distributed system area network
CN100463534C (zh) * 2003-12-08 2009-02-18 中兴通讯股份有限公司 一种单板版本的即插即用的管理方法
US7707642B1 (en) * 2004-08-31 2010-04-27 Adobe Systems Incorporated Document access auditing
JP4516394B2 (ja) * 2004-09-30 2010-08-04 フェリカネットワークス株式会社 情報管理装置および方法、並びにプログラム
EP1811452B1 (en) * 2004-11-08 2010-04-21 Sony Corporation Information processing system and information processing device
US20060277596A1 (en) * 2005-06-06 2006-12-07 Calvert Peter S Method and system for multi-instance session support in a load-balanced environment
JP2008059304A (ja) * 2006-08-31 2008-03-13 Sony Corp 通信装置および方法、並びにプログラム
JP5814526B2 (ja) * 2010-08-26 2015-11-17 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、およびプログラム
US8745634B2 (en) * 2010-10-15 2014-06-03 Invensys Systems, Inc. System and method for integrated workflow scaling
US8335921B2 (en) * 2010-12-17 2012-12-18 Google, Inc. Writing application data to a secure element
JP5967603B2 (ja) * 2011-12-21 2016-08-10 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数の変更履歴データのうちからソースコード中の変更内容を探索するための方法、並びに、そのコンピュータ及びコンピュータ・プログラム
US9531808B2 (en) * 2013-08-22 2016-12-27 Avaya Inc. Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media
US20220012346A1 (en) * 2013-09-13 2022-01-13 Vmware, Inc. Risk assessment for managed client devices
US10853057B1 (en) * 2017-03-29 2020-12-01 Amazon Technologies, Inc. Software library versioning with caching
CN108694185B (zh) * 2017-04-07 2021-06-04 成都阜特科技股份有限公司 一种数据存储与提取的方法
CN107590402A (zh) * 2017-09-26 2018-01-16 杭州中天微***有限公司 一种存储数据加解密装置及方法
CN108153888B (zh) * 2017-12-28 2022-01-04 广州美诚汇信息科技有限公司 产品质量追溯档案构建平台及方法
WO2020158251A1 (ja) * 2019-01-29 2020-08-06 日本電信電話株式会社 情報処理装置、方法およびプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278979A (en) * 1990-12-20 1994-01-11 International Business Machines Corp. Version management system using pointers shared by a plurality of versions for indicating active lines of a version
DK0739560T3 (da) * 1994-01-13 2001-10-01 Certco Inc Kryptografisk system og fremgangsmåde med nøgledeponeringsfunktion
EP0818761A1 (en) * 1996-07-12 1998-01-14 Koninklijke KPN N.V. Integrated circuit card, secure application module, system comprising a secure application module and a terminal and a method for controlling service actions to be carried out by the secure application module on the integrated circuit card
BR9713267A (pt) * 1996-10-25 2004-06-15 Schlumberger Systems & Service Cartão de circuito integrado para uso com um terminal, processo para uso com o mesmo, microcontrolador e processo para sua programação
US6381698B1 (en) * 1997-05-21 2002-04-30 At&T Corp System and method for providing assurance to a host that a piece of software possesses a particular property
US6490620B1 (en) * 1997-09-26 2002-12-03 Worldcom, Inc. Integrated proxy interface for web based broadband telecommunications management
JP4427693B2 (ja) * 1998-10-02 2010-03-10 ソニー株式会社 データ処理装置および方法、並びにデータ復号処理装置および方法
TW449991B (en) * 1999-01-12 2001-08-11 Ibm Method and system for securely handling information between two information processing devices
US6922835B1 (en) * 1999-01-22 2005-07-26 Sun Microsystems, Inc. Techniques for permitting access across a context barrier on a small footprint device using run time environment privileges
US6370573B1 (en) * 1999-08-31 2002-04-09 Accenture Llp System, method and article of manufacture for managing an environment of a development architecture framework
US6757893B1 (en) * 1999-12-17 2004-06-29 Canon Kabushiki Kaisha Version control system for software code
US6584476B1 (en) * 2000-04-22 2003-06-24 Oracle Corp. System and method for enforcing referential constraints between versioned database tables
JP4608749B2 (ja) * 2000-07-24 2011-01-12 ソニー株式会社 データ処理装置、データ処理方法、およびライセンスシステム、並びにプログラム提供媒体
JP4366845B2 (ja) * 2000-07-24 2009-11-18 ソニー株式会社 データ処理装置およびデータ処理方法、並びにプログラム提供媒体
US7050589B2 (en) * 2001-08-17 2006-05-23 Sun Microsystems, Inc. Client controlled data recovery management

Also Published As

Publication number Publication date
US7478435B2 (en) 2009-01-13
HK1057793A1 (en) 2004-04-16
US20030167398A1 (en) 2003-09-04
CN1416054A (zh) 2003-05-07
CN1282071C (zh) 2006-10-25
SG127686A1 (en) 2006-12-29
JP2003140760A (ja) 2003-05-16

Similar Documents

Publication Publication Date Title
JP4055393B2 (ja) データ処理装置およびその方法とプログラム
US7240345B2 (en) Data processing apparatus and associated method
US8447889B2 (en) Portable mass storage device with virtual machine activation
JP4818542B2 (ja) コンピューティングプラットフォームにおけるサービスの実行
JP3783608B2 (ja) 通信方法、通信システム、データ処理装置、サーバ装置およびプログラム
US20080126705A1 (en) Methods Used In A Portable Mass Storage Device With Virtual Machine Activation
US7610488B2 (en) Data processing device and method and program of same
JP4998518B2 (ja) 情報処理装置、情報処理システム及びプログラム
US7716477B2 (en) Data processing method, program of the same, and device of the same
JP5360192B2 (ja) 個人認証システムおよび個人認証方法
JP5118700B2 (ja) 仮想マシンのアクティブ化を伴う携帯可能な大容量記憶装置
US7664953B2 (en) Data processing device, method of same, and program of same
JP3826764B2 (ja) データ処理方法、データ処理装置およびプログラム
JP4207409B2 (ja) データ処理装置およびその方法
JP2004112510A (ja) データ処理方法、そのプログラムおよびその装置
JP2004112476A (ja) データ処理方法、そのプログラムおよびその装置
JP2008102943A (ja) データ処理装置およびその方法とプログラム
JP4453678B2 (ja) データ処理方法およびデータ処理システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070806

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070828

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071029

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20071102

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071203

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101221

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees