データ処理方法およびデータ処理システム
【課題】相手方に秘匿したいデータと、公開するデータとを適切に管理可能なデータ処理方法と装置を提供する。
【解決手段】メモリに記憶されたデータにアクセスするための処理に必要な第1、第2のAPを実行する第1、第2のデータ処理装置が、ネットワークを介さずに第1、第2のサーバ装置に接続され、第1のデータ処理装置と第2のデータ処理装置がそれぞれ第1、第2の管理データに含まれる相互認証有無指示データを参照して相互認証を行うか否かを決定して、相互認証を行う。
【解決手段】メモリに記憶されたデータにアクセスするための処理に必要な第1、第2のAPを実行する第1、第2のデータ処理装置が、ネットワークを介さずに第1、第2のサーバ装置に接続され、第1のデータ処理装置と第2のデータ処理装置がそれぞれ第1、第2の管理データに含まれる相互認証有無指示データを参照して相互認証を行うか否かを決定して、相互認証を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、たとえば、ICなどの集積回路を用いたサービス提供に用いられるデータ処理方法とシステムに関する。
【背景技術】
【0002】
現在、ICカードを用いてインターネットなどのネットワークを介した取り引きを行う通信システムが開発されている。
このような通信システムでは、ICカードを用いたサービスを提供するサービス提供者からの依頼を受けて当該サービス提供者が規定した手続き処理を実行するアプリケーションプログラムをサーバ装置が実行する。
サーバ装置は、例えばICカードのリーダ・ライタやPC(Personal Computer) から処理要求に応じて、上記アプリケーションプログラムに基づいて、ユーザ認証やデータの暗号化及び復号などの処理を行う。
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、上述したようなICカードを用いたサービスは、SAM(Secure Application Module) を用いて行われるが、複数のSAMが連携して単体のICカードを用いたサービスを提供する場合に、複数のSAM間で連携したサービスを迅速に提供したいという要請がある。
また、この場合に、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したSAM相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理したいという要請がある。
【0004】
本発明はかかる事情に鑑みてなされたものであり、複数のSAM(データ処理装置)間で連携したサービスを迅速に提供することを可能にするデータ処理方法とデータ処理システムを提供することを目的とする。
また、本発明は、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したSAM(データ処理装置)相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理できるデータ処理方法とデータ処理システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明によれば、通信装置の通信機能を用いてネットワークを介して少なくとも第1のサーバ装置と第2のサーバ装置と通信を行うICカードあるいはICモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理方法であって、
前記メモリに記憶されたデータにアクセスするための処理に必要な第1および第2のアプリケーションプログラムをそれぞれ実行する第1および第2のデータ処理装置が、ネットワークを介さずにそれぞれ前記第1のサーバ装置および前記第2のサーバ装置に接続され、
前記第2のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第1のアプリケーションプログラムが利用するデータモジュールを示す第1の管理データを前記第1のデータ処理装置が保持し、前記第1のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第2の管理データを前記第2のデータ処理装置が保持する場合に、前記第1のデータ処理装置と前記第2のデータ処理装置が、それぞれ前記第1の管理データと前記第2の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、相互認証を行う場合は前記第1のデータ処理装置と前記第2のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第1のデータ処理装置が前記第1の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第2のデータ処理装置に送信し、前記第2のデータ処理装置が、前記要求に応じて、前記第2の管理データを参照し、前記要求で指定されたデータモジュールを前記第1のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第1のデータ処理装置に送信し、前記第1のデータ処理装置が、前記第2のデータ処理装置から取得したデータモジュールを含んだ前記第1のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、ことを特徴とするデータ処理方法が提供される。
【0006】
また、本発明によれば、ネットワークにそれぞれ接続された第1および第2のサーバ装置と、前記ネットワークを介して前記第1および第2のサーバ装置に接続され、メモリを有するICカードあるいはICモジュールと、前記ネットワークを介さずにそれぞれ前記第1のサーバ装置および前記第2のサーバ装置に接続され、前記ICカードあるいはICモジュールのメモリに記憶されたデータにアクセスするための処理に必要な第1および第2のアプリケーションプログラムをそれぞれ実行する第1および第2のデータ処理装置とを有し、前記ICカードあるいはICモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理システムであって、前記第1のデータ処理装置が、前記第2のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第1のアプリケーションプログラムが利用するデータモジュールを示す第1の管理データを保持し、前記第2のデータ処理装置が前記第1のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第2の管理データを保持する場合に、前記第1のデータ処理装置と前記第2のデータ処理装置が、それぞれ前記第1の管理データと前記第2の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、相互認証を行う場合は前記第1のデータ処理装置と前記第2のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第1のデータ処理装置が前記第1の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第2のデータ処理装置に送信し、前記第2のデータ処理装置が、前記要求に応じて、前記第2の管理データを参照し、前記要求で指定されたデータモジュールを前記第1のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第1のデータ処理装置に送信し、前記第1のデータ処理装置が、前記第2のデータ処理装置から取得したデータモジュールを含んだ前記第1のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、ことを特徴とするデータ処理システムが提供される。
【発明の効果】
【0007】
本発明によれば、複数のデータ処理装置(たとえば、、SAMユニット)間で連携したサービスを迅速に提供することを可能にするデータ処理方法とデータ処理システムを提供することができる。
【0008】
また、本発明によれば、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したデータ処理装置相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理できるデータ処理方法とデータ処理システムを提供することができる。
【発明を実施するための最良の形態】
【0009】
以下、本発明のデータ処理方法およびデータ処理システムの実施の形態を添付図面を参照して説明する。
図1は、本発明の本実施形態の通信システム1の全体構成図である。
図1に示すように、通信システム1は、店舗などに設置されたサーバ装置2、ICカード3、カードリーダ・ライタ4、パーソナルコンピュータ5、ASP(Application Service Provider)サーバ装置19a、19b、SAM(Secure Application Module) ユニット9a,9b、ICモジュール42(本発明の集積回路)が内蔵された携帯通信装置41を用いて、インターネット10を介して通信を行ってICカード3あるいは携帯通信装置41を用いた決済処理などの手続き処理を行う。
SAMユニット9a(本発明の第1のデータ処理装置)は、外部メモリ7(本発明の記憶手段)およびSAMモジュール8(本発明の処理手段)を有する。
また、SAMユニット9b(本発明の第2のデータ処理装置)も、同様に、外部メモリ7およびSAMモジュール8を有する。
SAMモジュール8は、必要に応じて、図示しない他のSAMモジュールとデータの授受を行う。
【0010】
〔通信システム1の特徴〕
本実施形態では、図1に示すSAMユニット9aが、SAMユニット9bの外部メモリ7に格納されたアプリケーションエレメントデータAPEを利用する場合のSAMユニット9aとSAMユニット9bとの間の通信に特徴を有している。
例えば、SAMユニット9a,9bを用いて異なるサービス事業者間でサービスを連携して運用するためには、ICカード(ICモジュール)操作に必要なカード用アクセス鍵、カード用発行鍵パッケージを秘密にした状態で他のサービス事業者に渡すことが必要となる。
【0011】
例えば、異なるサービス事業者間で、ICカード3との相互認証鍵を計算するためには、カード用アクセス鍵またはカード用縮退鍵などの鍵情報を入手する必要がある。
具体的には、SAMユニット9aで金額決裁をSAMユニット9bで商品購入を行い、しかもICカードとの1回の相互認証期間中で双方の処理を完結させる場合には、SAMユニット9aからSAMユニット9bに金額決裁に必要な鍵情報を転送し、SAMユニット9b側でICカード3へのアクセスに必要な鍵を合成する必要がある。
この場合に、SAMユニット9aとSAMユニット9bとで個別にICカード3にアクセスを行うことが可能だが、金額決裁と商品購入の双方の操作および処理について同時性を保証することが困難となる。例えば、SAMユニット9aによる金額決裁が完了したが、SAMユニット9bによる商品の入手処理が完結しないなどの事態が生じる。
【0012】
また、ICカードの共有メモリ領域を借りて、独自にサービスを展開する事業者は、例えば共有メモリ領域の管理者(メモリ運用機構)から、ICカード3上にサービスを登録するための鍵情報(エリア登録用鍵パッケージ等)を入手する必要がある。
また、ICカード3内のメモリを論理的に分割して共有メモリ領域を生成するために必要なカード分割用鍵パッケージを、メモリ運用機構と共有領域提供者(例えばサービス事業者)間で授受する必要がある。
通信システム1は、上述したような複数の事業者によるサービスを連携して提供したり、鍵パッケージなどのアプリケーションエレメントデータAPEを授受する際に、SAMユニット9aとSAMユニット9bなどのSAMユニット相互間でセキュアな通信路を簡単に確立できる手法を提供する。
【0013】
以下、図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のユーザの識別データを記憶している。
【0014】
携帯通信装置41は、携帯電話網およびインターネット10を介してASPサーバ装置19a、19bと通信を行う通信処理部43と、通信処理部43との間でデータ授受可能なICモジュール42とを有し、アンテナからインターネット10を介してSAMユニット9aと通信を行う。
ICモジュール42は、携帯通信装置41の通信処理部43とデータ授受を行う点を除いて、前述したICカード3のICモジュール3aと同じ機能を有している。
なお、携帯通信装置41を用いた処理は、ICカード3を用いた処理と同様に行われ、ICモジュール42を用いた処理はICモジュール3aを用いた処理と同様に行われるため、以下の説明では、ICカード3およびICモジュール3aを用いた処理について例示する。
【0015】
以下、SAMユニット9a,9bについて詳細に説明する。
SAMユニット9a,9bは、前述したように、外部メモリ7(本発明の記憶手段)とSAMモジュール8(本発明の処理手段)とを有する。
ここで、SAMモジュール8は、半導体回路として実現してもよいし、筐体内に複数の回路を収容した装置として実現してもよい。
【0016】
〔SAMモジュール8のソフトウェア構成〕
SAMモジュール8は、図4に示すようなソフトウェア構成を有している。
図4に示すように、SAMモジュール8は、下層から上層に向けて、ハードウェアHW層、周辺HWに対応したRTOSカーネルなどを含めたドライバ層(OS層)、論理的にまとまった単位の処理を行う下位ハンドラ層、アプリケーション固有のライブラリなどをまとめた上位ハンドラ層およびAP層を順に有している。
ここで、AP層では、図1に示すクレジットカード会社などのサービス事業者のパーソナル・ーソナルコンピュータ(PC)15_1,15_2,15_3によるICカード3を用いた手続きを規定したアプリケーションプログラムAP_1,AP_2,AP_3(本発明のアプリケーションプログラム)が、外部メモリ7から読み出されて動作している。
各アプリケーションプログラムには、1つ以上のマクロ・スクリプトが設定可能である。
AP層では、アプリケーションプログラムAP_1,AP_2,AP_3相互間、並びに上位ハンドラ層との間にファイアウォールFWが設けられている。
【0017】
〔外部メモリ7〕
図5は、外部メモリ7の記憶領域を説明するための図である。
図5に示すように、外部メモリ7の記憶領域には、パーソナル・ーソナルコンピュータ(PC)16−1を有するサービス事業者15_1のアプリケーションプログラムAP_1が記憶されるAP記憶領域220_1、PC16−2を有するサービス事業者の15_2のアプリケーションプログラムAP_2が記憶されるAP記憶領域220_2、PC16−3を有するサービス事業者15_3のアプリケーションプログラムAP_3が記憶されるAP記憶領域220_3、並びにSAMモジュール208の管理者が使用するAP管理用記憶領域221がある。
ここで、SAMユニット9aの外部メモリ7に記憶されるアプリケーションプログラムが本発明の第1のアプリケーションプログラムに対応し、SAMユニット9bの外部メモリ7に記憶されるアプリケーションプログラムが本発明の第2のアプリケーションプログラムに対応している。
【0018】
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ユニット9aの外部から外部メモリ7にダウンロードされる最小単位である。各アプリケーションプログラムを構成するアプリケーションエレメントデータAPEの数は、対応するサービス事業者が任意に決定できる。
【0019】
また、外部メモリ7に記憶されたアプリケーションプログラムAP_1,AP_2,AP_3は、スクランブル(暗号化)されており、SAMモジュール8に読み込まれたときに、デスクランブル(解読)される。
また、アプリケーションプログラムAP_1,AP_2,AP_3は、例えば、それぞれ図1に示すパーソナルコンピュータ(PC)16_1,16_2,16_3を用いて、サービス事業者15_1,15_2,15_3によって作成され、SAMモジュール8を介して外部メモリ7にダウンロードされる。
【0020】
以下、アプリケーションプログラムAP_1,AP_2,AP_3について詳細に説明する。
アプリケーションプログラムは、サービス事業者毎に、SAMユニット内に単数または複数個存在する。
【0021】
先ず、図1に示すSAMユニット9a(SAM_A)の外部メモリ7に格納されたアプリケーションプログラムAPについて説明する。
図6は、図1に示すSAMユニット9a(SAM_A)の外部メモリ7に格納されたアプリケーションプログラムAPを説明するための図である。
図6に示すように、当該アプリケーションプログラムAPは、当該アプリケーションプログラムAPを識別するための識別データAP_IDと、当該アプリケーションプログラム(あるいはそのパッケージ)のバージョン(世代情報)を示すデータAPP_VERと、当該アプリケーションプログラムに含まれるアプリケーションエレメントデータAPEの数を示すデータAPE_NUMと、当該アプリケーションプログラムを構成する単数または複数のアプリケーションエレメントデータAPEの識別データAPE_IDと、タグデータAPE_TAGと、利用許可データPTと、オプションデータOPTと、アプリケーションエレメントデータAPEの実体APE_PLとを有する。
なお、図6および図7に示すタグデータAPE_TAG、利用許可データPTおよびオプションデータOPTが本発明の第1の管理データに対応している。
【0022】
識別データAP_IDは、サービス事業者毎に異なるように決められている。
また、タグデータAPE_TAGは、サービス事業者が設定可能なアプリケーションエレメントデータAPEの識別用タグであり、アプリケーションプログラムAP内で一意に特定可能に決定される。
また、図6において、アプリケーションプログラムAPに格納された4つの識別データAPE_IDのうち、斜線で示した3つのAPE_IDに対応するアプリケーションエレメントデータAPEの実体は、図1に示すSAMユニット9b(SAM_B)からSAMユニット9a(SAM_A)に後述するように転送される。
すなわち、これら3つのアプリケーションエレメントデータAPEの実体は、SAMユニット9aの外部メモリ7には存在しない。
【0023】
図7(A)は、図6に示す利用許可データPTを説明するための図である。
図7(A)に示すように、利用許可データPTは、相互認証鍵数、相互認証の有無、SAM_Aの相互認証鍵のインスタンス、SAM_Aの相互認証鍵のアプリケーションエレメントデータAPE、SAM_Bの相互認証のインスタンス、SAM_Bの相互認証鍵のアプリケーションエレメントデータAPEと、アクセス権限データPMSDとを有する。
ここで、図7(A)で斜線を付した相互認証の有無と、SAM_Bの相互認証のインスタンスと、SAM_Bの相互認証鍵のアプリケーションエレメントデータAPEとは、SAMユニット9bに存在し、SAMユニット9bから転送して取得される。
【0024】
図7(B)は、図6に示すオプションデータOPTを説明するための図である。
図7(B)に示すように、オプションデータOPTは、SAM_BのSAM_IDと、SAM_Bに格納されたアプリケーションプログラムの識別データAP_ID(B)と、フラグデータPCFとを格納している。
フラグデータPCFは、アプリケーションエレメントデータAPEがSAMユニット9aの外部および内部の何れに存在するかを示す第1のフラグと、当該アプリケーションプログラムのアプリケーションエレメントデータAPEを外部に公開するか非公開にするかを示す第2のフラグと、外部に公開した場合にそれを一時的に利用させるかあるいは保存(永久利用)させるかを示す第3のフラグとを有する。
図7(B)に示す例では、第1のフラグは外部を示し、第2および第3のフラグは未設定になっている。
【0025】
また、利用許可データPTあるいはオプションデータOPTには、例えば、アプリケーションプログラムAP内の各設定データを設定可能な主体の正当性を認証するためのデータが格納されており、SAMモジュール8aは、当該データに基づいて、当該設定データの設置を許可するか否かを判断する。
また、本実施形態では、各アプリケーションプログラムが使用するポートが規定されており、当該アプリケーションプログラムに規定されたポートを利用する、権限や用途などが管理データとして規定されている。SAMユニット9a,9bは、当該管理データに基づいて、各アプリケーションプログラムに規定されたポートの利用形態を決定する。
【0026】
次に、図1に示すSAMユニット9b(SAM_B)の外部メモリ7に格納されたアプリケーションプログラムAPについて説明する。
図8は、図1に示すSAMユニット9b(SAM_B)の外部メモリ7に格納されたアプリケーションプログラムAPを説明するための図である。
図8に示すように、当該アプリケーションプログラムAPは、当該アプリケーションプログラムAPを識別するための識別データAP_IDと、当該アプリケーションプログラム(あるいはそのパッケージ)のバージョン(世代情報)を示すデータAPP_VERと、当該アプリケーションプログラムに含まれるアプリケーションエレメントデータAPEの数を示すデータAPE_NUMと、当該アプリケーションプログラムを構成する単数または複数のアプリケーションエレメントデータAPEの識別データAPE_IDと、タグデータAPE_TAGと、利用許可データPTと、オプションデータOPTと、アプリケーションエレメントデータAPEの実体APE_PLとを有する。
なお、図8および図9に示すタグデータAPE_TAG、利用許可データPTおよびオプションデータOPTが本発明の第2の管理データに対応している。
【0027】
また、図8において、アプリケーションプログラムAPに格納された4つの識別データAPE_IDのうち、括弧で示した3つのAPE_IDに対応するアプリケーションエレメントデータAPEの実体は、図1に示すSAMユニット9a(SAM_A)から利用される。
これら3つのアプリケーションエレメントデータAPEの実体は、SAMユニット9bの外部メモリ7には存在する。
【0028】
図9(A)は、図6に示す利用許可データPTを説明するための図である。
図9(A)に示すように、利用許可データPTは、相互認証鍵数、相互認証の有無、SAM_Bの相互認証鍵のインスタンス、SAM_Bの相互認証鍵のアプリケーションエレメントデータAPE、SAM_Aの相互認証のインスタンス、SAM_Aの相互認証鍵のアプリケーションエレメントデータAPEと、アクセス権限データPMSDとを有する。
ここで、図9(A)で斜線を付した相互認証の有無と、SAM_Aの相互認証のインスタンスと、SAM_Aの相互認証鍵のアプリケーションエレメントデータAPEとは、SAMユニット9aから転送して取得される。
また、アクセス権限データPMSDは、当該アプリケーションプログラムAPに格納されたアプリケーションエレメントデータAPE毎に、当該APEの外部からのアクセス(利用)を許可する形態(読み出し、書き込み、あるいは実行)を指定している。当該指定は、予め指定は、予め規定された権限を特定して行われてもよい。
【0029】
図9(B)は、図8に示すオプションデータOPTを説明するための図である。
図9(B)に示すように、オプションデータOPTは、SAM_AのSAM_IDと、SAM_Aに格納されたアプリケーションプログラムの識別データAP_ID(A)と、フラグデータPCFとを格納している。
フラグデータPCFは、図9(B)の例では、第1のフラグは内部を示し、第2のフラグは公開を示し、第3のフラグは一時利用を示している。
【0030】
なお、アプリケーションエレメントデータAPEは、暗号化されたパッケージを各領域別に設定することで、外部メモリ7に格納される。
【0031】
以下、アプリケーションエレメントデータAPEの種別(APE_TYPE)について説明する。
図10は、アプリケーションエレメントデータAPEの種別を説明するための図である。
図10に示すように、アプリケーションエレメントデータAPEの種別(APE_TYPE)としては、APリソース鍵データK_APR、カードアクセス鍵データ(ICエリア鍵データ、IC縮退鍵データなど)、ファイルシステムコンフィグレーションデータ、SAM相互認証用鍵データ、SAM間鍵パッケージ鍵データ、ICカード操作用マクロコマンドスクリプトプログラム、メモリ分割用鍵パッケージ、メモリ分割用素鍵パッケージ、拡張発行用鍵パッケージ、発行用鍵パッケージ、エリア登録鍵パッケージ、エリア削除用鍵パッケージ、サービス登録用鍵データ、サービス削除用鍵パッケージ、が、アプリケーションエレメントデータAPEとして記憶されている。
【0032】
以下、図10に示すアプリケーションエレメントデータAPEの種別のうち一部を詳細に説明する。
・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に含まれる。
【0033】
・ファイルシステムコンフィグレーションデータ
ファイルシステムコンフィグレーションデータとしては、例えば、ログデータ、ネガデータ、ジャーナルデータがある。
ログデータは例えばアプリケーションエレメントデータAPEの利用履歴データであり、ネガデータは例えばICカードの失効情報であり、ジャーナルデータは例えばSAMでの実行履歴である。
例えば、ファイルシステムコンフィグレーションでは、ファイルアクセスの種別(レコードキー指定・ソート・リング)の選択を行い、レコードキーの場合であれば、レコードサイズ、レコード全体件数・レコード署名バージョン・レコード署名メソッドタイプ、レコードデータサイズ、レコード署名鍵を設定する。さらに、外部から本ファイルシステムにデータを書き込む際に署名検証を実施するかの有無の指定などを行う。ここでレコードとは、ファイルデータへの書き込み/読み出しの最小単位である。
【0034】
・SAM相互認証用鍵データ
同一SAM内にあるAP間相互認証にも使用される。
SAM相互認証用鍵データとは、対応するアプリケーションエレメントデータAPEを同一SAM内の他のAPまたは他のSAMからアクセスする際に用いられる鍵データである。
・SAM間鍵パッケージ鍵
SAM間鍵パッケージ鍵とは、SAM間での相互認証後、カードアクセス鍵データなどのデータを交換する際に用いられる暗号化用鍵データである。
・ICカード操作用マクロコマンドスクリプトプログラム
ICカード操作用マクロコマンドスクリプトプログラムは、サービス事業者自身によって生成され、ICカード3に係わる処理の順番やASPサーバ装置19とのやり取りを記述している。ICカード操作用マクロコマンドスクリプトプログラムは、SAMユニット9aに設定された後に、SAMモジュール8内で解釈され、対応するICカードエンティティデータが生成される。
【0035】
・メモリ分割用鍵パッケージ
メモリ分割用鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、外部メモリ7やICカード3のメモリの記憶領域を分割するために使用するデータである。
・エリア登録鍵パッケージ
エリア登録鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、ICカード3のメモリの記憶領域にエリア登録を行う場合に使用するデータである。
・エリア削除用鍵パッケージ(内部生成)
エリア削除用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
【0036】
・サービス登録用鍵(内部生成)
サービス登録用鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、外部メモリ7のアプリケーションエレメントデータAPEを登録するために用いられる。
サービス登録用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
・サービス削除用鍵パッケージ(内部生成)
サービス削除用鍵パッケージは、外部メモリ7に登録されているアプリケーションエレメントデータAPEを削除するために用いられる。
サービス削除用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
【0037】
また、図5に示す外部メモリ7内のAP管理用記憶領域221には、上述したアプリケーションプログラムAP_1〜AP_3を管理するためのAP管理用データが記憶されている。
AP管理用記憶領域221へのアクセスは、ファイアウォールFW_4によって制限されている。
【0038】
〔SAMモジュール8〕
SAMモジュール8は、SCSIまたはEthernet(登録商標)などを介してASPサーバ装置19a,19bに接続される。ASPサーバ装置19は、インターネット10を介して、エンドユーザのパーソナルコンピュータ5、サービス事業者15_1,15_2,15_3のパーソナルコンピュータ16_1,16_2,16_3を含む複数の端末装置に接続される。
パーソナルコンピュータ5は、例えば、シリアルまたはUSBを介してDumb型のカードリーダ・ライタ4に接続されている。カードリーダ・ライタ4が、ICカード3(ICモジュール42)との間で物理レベルに相当する例えば無線通信を実現する。
ICカード3(ICモジュール42)への操作コマンドおよびICカード3(ICモジュール42)からのリスポンスパケットは、SAMユニット9a,9b側で生成および解読される。よって、その中間に介在するカードリーダ・ライタ4、パーソナルコンピュータ5およびASPサーバ装置19は、コマンドやリスポンス内容をデータペイロード部分に格納して中継する役割を果たすのみで、ICカード3内のデータの暗号化や復号および認証などの実操作には関与しない。
【0039】
パーソナルコンピュータ16_1,16_2,16_3は、後述するスクリプトプログラムをSAMモジュール8にダウンロードすることで、それぞれアプリケーションプログラムAP_1,AP_2,AP_3をカスタマイズできる。
【0040】
図11は、図1に示すSAMモジュール8の機能ブロック図である。
図11に示すように、SAMモジュール8は、ASPS通信インタフェース部60、外部メモリ通信インタフェース部61、バススクランブル部62、乱数発生部63、暗号・復号部64、メモリ65およびCPU66を有する。
SAMモジュール8は、耐タンパ性のモジュールである。
【0041】
ASPS通信インタフェース部60は、図1に示すASPサーバ装置19a,19bとの間のデータ入出力に用いられるインタフェースである。
外部メモリ通信インタフェース部61は、外部メモリ7との間のデータ入出力に用いられるインタフェースである。
バススクランブル部62は、外部メモリ通信インタフェース部61を介してデータを入出力する際に、出力するデータをスクランブルし、入力したデータをデスクランブルする。
乱数発生部63は、認証処理を行う際に用いられる乱数を発生する。
暗号・復号部64は、データの暗号化、並びに暗号化されたデータの復号を行う。
メモリ65は、後述するように、CPU66によって用いられるタスク、プログラム、並びにデータを記憶する。
CPU66は、ICカード手続管理タスク(ジョブ管理用データ管理タスク)などのタスクを実行する。
CPU66は、SAMユニット9a,9b内での操作コマンドに基づいてSAMユニット9a,9b内で規定された処理を行い、ICカード3のICモジュール3aおよび携帯通信装置41のICモジュール42の操作コマンドとに基づいて、ICモジュール3aおよびICモジュール42の処理を制御する。
SAMユニット9aのCPU66とSAMユニット9bのCPU66は、後述するように、SAMユニット9a,9b間でのデータ授受(通信)を制御する。
【0042】
〔SAM間通信〕
以下、図12に示すように、SAMユニット9aと9bとの間で、アプリケーションエレメントデータAPEの転送を行う場合の通信方法について説明する。
通信システム1では、前述したように、SAMユニット9aとSAMユニット9bとが連携してICカード3およびICモジュール42を用いたサービスを提供する場合に、SAMユニット9aと9bとの間で、アプリケーションエレメントデータAPEの転送を行う。
この場合に、SAMユニット9a,9bの図11に示すASPS通信インタフェース部60を用いて、SAMユニット9aと、サーバ装置19aと、サーバ装置19bと、SAMユニット9bとの間で通信が行われる。
例えば、図13に示すように、SAMユニット9bの外部メモリ7に格納されたアプリケーションプログラムAP(B)内に縮退鍵データ(APE)の実体が格納され、SAMユニット9aの外部メモリ7に格納されたアプリケーションプログラムAP(A)から、当該縮退鍵データを参照する場合に、SAMユニット9bが公開元となり、SAMユニット9aが参照元となる。
そして、SAMユニット9bからSAMユニット9aに、当該縮退鍵データをのアプリケーションエレメントデータAPEが転送される。
当該転送は、SAMユニット9aおよび9bのアプリケーションプログラムAP(A),(B)内にあるオプションデータOPT、フラグデータPCF、並びにアクセス権限データPMSDの設定内容に基づいて、SAMユニット9aから9bにSAM間エレメント転送コマンドを送信し、それに応じて、SAMユニット9bから9aにSAM間エレメント転送レスポンスを送信して行われる。
【0043】
図14は、SAM間エレメント転送コマンドSAMAPETCを説明するための図である。
図14に示すように、SAM間エレメント転送コマンドSAMAPETCは、自分(コマンドの転送元)のアプリケーションプログラムの識別データAP_ID、相手(コマンドの転送先)のアプリケーションプログラムの識別データAP_ID、転送先(相手側)の相互認証鍵のインスタンス番号、転送を要求するアプリケーションエレメントデータAPEの数(エレメント属性数)、転送先との間で行う相互認証の管理ID(相互認証管理ID)、並びにアプリケーションエレメントデータAPEの属性リスト(エレメント属性リスト)を有する。
ここで、エレメント属性リストは、アプリケーションエレメントデータAPEの種別(APE_TYPE)と、エレメント属性とを有する。
当該エレメント属性は、図15に示すように、転送を要求するアプリケーションエレメントデータAPEの種別(APE_TYEP)により、設定する項目が異なる。
例えば、図15に示すように、転送するアプリケーションエレメントデータAPEがエリア・サービス鍵データの場合には、システムコード、エリア/サービスコード、エレメントバージョンをエレメント属性として設定する。
【0044】
図16は、SAM間エレメント転送レスポンスSAMAPETRを説明するための図である。
図16に示すように、SAM間エレメント転送レスポンスSAMAPETRは、自分(レスポンスの転送元)のアプリケーションプログラムの識別データAP_ID、相手(レスポンスの転送先)のアプリケーションプログラムの識別データAP_ID、転送先(相手側)の相互認証鍵のインスタンス番号、転送するアプリケーションエレメントデータAPEの数(エレメント属性数)、レスポンスの転送先との間で行う相互認証の管理ID(相互認証管理ID)、フラグデータPCF、並びにエレメントリストを有する。
ここで、エレメントリストは、アプリケーションエレメントデータAPEの種別(APE_TYPE)と、エレメント属性サイズと、エレメント属性と、アプリケーションエレメントデータAPEの実体とをを有する。
当該エレメント属性は、図15に示すように、返却するアプリケーションエレメントデータAPEの種別(APE_TYEP)により、設定する項目が異なる。
例えば、図15に示すように、返却するアプリケーションエレメントデータAPEがエリア・サービス鍵データの場合には、エリア鍵データとサービス鍵データとをエレメント属性として設定する。
【0045】
上述したSAM間エレメント転送コマンド/レスポンスを用いた、SAMユニット9aと9bとの間の転送は、SAMユニット9aと9bとの間で相互認証を行った後に行われる。
【0046】
図17は、SAMユニット9aと9bとの間の相互認証の手順を説明するための図である。
ステップST201:
参照元のSAMユニット9aのSAMモジュール8のCPU66が、SAMユニット9bのSAM_ID、参照を行うアプリケーションプログラムAPのAP_ID、使用するアプリケーションプログラムAPのポートID、SAMユニット9の相互認証鍵のアプリケーションエレメントデータAPEのAPE_ID、暗号方式、SAMユニット9aが生成した乱数値RAとを、SAMユニット9bの相互認証鍵データAK_Bを用いて暗号化して格納した認証コマンドAUTH_C1を生成する。CPU66は、認証コマンドAUTH_C1を、サーバ装置19a,19bを介してSAMユニット9bに送信する。
【0047】
ステップST202:
アプリケーションエレメントデータAPEの提供側であるSAMユニット9bのSAMモジュール8のCPU66が、ステップST201で受信した認証コマンドAUTH_C1を、相互認証鍵データAK_Bを用いて復号し、当該復号によって得たデータと、SAMユニット9bが生成した乱数値RBとを、SAMユニット9aの相互認証鍵データAK_Aを用いて暗号化して格納した認証レスポンスAUTH_R1を生成する。CPU66は、認証レスポンスAUTH_R1を、サーバ装置19b,19aを介してSAMユニット9aに送信する。
【0048】
ステップST203:
SAMユニット9aのSAMモジュール8のCPU66が、ステップST202で受信した認証レスポンスAUTH_R1を、相互認証鍵データAK_Aを用いて復号し、当該復号によって得た乱数値RAと、ステップST201で生成した乱数値RAとが一致しているか否かを判断し、一致していると判断した場合に、乱数値RBを相互認証鍵データAK_Bを用いて暗号化して格納した認証コマンドAUTH_C2を生成する。CPU66は、認証コマンドAUTH_C2を、サーバ装置19a,19bを介してSAMユニット9bに送信する。
【0049】
ステップST204:
SAMユニット9bのSAMモジュール8のCPU66が、ステップST203で受信した認証コマンドAUTH_C2を、相互認証鍵データAK_Bを用いて復号し、当該復号によって得た乱数値RBと、ステップST202で生成した乱数値RBとが一致しているか否かを判断し、一致していると判断した場合に、相互認証管理IDを格納し、認証レスポンスAUTH_R2を生成する。CPU66は、認証レスポンスAUTH_R2を、サーバ装置19b,19aを介してSAMユニット9aに送信する。
これにより、SAMユニット9aと9bとの間の相互認証が完了する。
【0050】
なお、SAMユニット9aと9bとの間で既に相互認証が終了してセッションが確立されている場合には、ステップST201の認証コマンドAUTH_C1の送信に続いて、ステップST202,ST203を省略して、ステップST204の認証レスポンスAUTH_R2の送信を行ってもよい。
すなわち、SAMユニット9a,9bでは、相互認証鍵データを単位として相互認証の管理を行い、既に確立したセッションであれば、相互認証手続きを省略できる。ここで、要求された処理について、対応する相互認証鍵データを用いた既にセッションが確立されているか否かの判断は、要求先(図17の場合にはSAMユニット9b)において行われる。
【0051】
以下、図13を用いて前述したSAMユニット9aと9bとの間の縮退鍵データの転送の動作例を説明する。
図18は、当該動作例を説明するための図である。
ステップST221:
サーバ装置19bが、SAMユニット9bに、縮退鍵データが既に設定(更新)されているか否かを確認する。
ステップST222:
サーバ装置19bが、サーバ装置19aに、縮退鍵データがSAMユニット9bに既に設定されていることを通知する。すなわち、転送対象となるアプリケーションエレメントデータAPEが、既にSAMユニット9bに準備できていることを参照元に通知する。
ステップST223:
サーバ装置19aが、SAMユニット9aのCPU66の内部状態(モード)を、SAM間連携が可能なモードに変更する。
ステップST224:
サーバ装置19aが、SAMユニット9aに、ICカード3(ICモジュール42)を用いた処理を依頼する。
ステップST225:
SAMユニット9aのCPU66は、当該依頼に基づいて処理を行い、その処理中に,
SAMユニット9bに存在するアプリケーションエレメントデータAPEである縮退鍵データが必要となり、かつ、当該縮退鍵がSAMユニット9aに存在していない場合に、SAMユニット9bとの間で図17を用いて説明した相互認証を行い、セッションを確立する。
【0052】
ステップST226:
SAMユニット9aのCPU66は、SAMユニット9bに縮退鍵データの転送要求(図14に示すSAMAPETC)を送信する。
ステップST227:
SAMユニット9bのCPU66は、当該転送要求に応じて、指定された縮退鍵データのアプリケーションエレメントデータAPEを格納した図16に示すSAM間エレメント転送レスポンス(SAMAPETR)を生成し、これをSAMユニット9aに送信する。
ステップST228:
SAMユニット9aのCPU66は、ステップST225で確立したセッションを遮断し、受信したSAM間エレメント転送レスポンスに格納された縮退鍵データを用いてICカード3(ICモジュール42)に係わる処理を行う。
【0053】
次に、図10に示すメモリ分割用鍵パッケージの生成および分割操作を、SAMユニット9aと9bとの間の通信で実現する例を説明する
本例では、例えば、ICカード3およびICモジュール42のメモリの記憶領域の貸し出しなどの運用を行うメモリ運用者がSAMユニット9bを使用し、メモリ領域提供者がSAMユニット9aを使用する。
ここで、メモリ分割用パッケージはメモリ分割用素パッケージを素にして生成される。
メモリ分割用素パッケージは運用者側のSAMユニット9aで生成され、メモリ分割用パッケージはメモリ領域提供者側のSAMユニット9bで生成される。
従って、SAMユニット9bが、メモリ分割用パッケージを生成する場合に、SAM間通信により,SAMユニット9aからメモリ分割用素パッケージを取得する必要がある。
図19は、メモリ分割用パッケージの生成および転送処理を説明するための図である。
ステップST241:
メモリ運用者のサーバ装置19aが、SAMユニット9aに、メモリ分割用素パッケージの生成コマンドを発行する。
SAMユニット9aは、当該コマンドに応じて、メモリ分割用素パッケージを生成する。
ステップST242:
サーバ装置19aが、サーバ装置19bに、メモリ分割用素パッケージがSAMユニット9aにおいて生成されたことを通知する。
ステップST243:
サーバ装置19bが、SAMユニット9bに、メモリ分割用パケットデータの生成コマンドを発行する。
【0054】
ステップST244:
SAMユニット9bと9aとの間で、図17を用いて説明した相互認証処理を行った後に、SAMユニット9bが、メモリ分割素パケットデータを指定した図14に示すフォーマットのSAM間エレメント転送コマンドをSAMユニット9aに送信する。
ステップST245:
SAMユニット9aが、SAM間エレメント転送コマンドに応じて、ステップST241で生成したメモリ分割用素パッケージを格納した図16に示すSAM間エレメント転送レスポンスをSAMユニット9bに送信する。
SAMユニット9bが、受信したメモリ分割用素パッケージを用いて、メモリ分割用パッケージを生成する。
ステップST246:
SAMユニット9bが、メモリ分割用パッケージが生成されたことをサーバ装置19bに通知する。
ステップST247:
サーバ装置19bが、メモリ分割用パッケージが生成されたことをサーバ装置19aに通知する。
【0055】
ステップST248:
サーバ装置19aが、ICカード3およびICモジュール42のメモリを分割することを指示するメモリ分割コマンドをサーバ装置19aに発行する。
ステップST249:
SAMユニット9bと9aとの間で、図17を用いて説明した相互認証処理を行った後に、SAMユニット9aが、メモリ分割パケットデータを指定した図14に示すフォーマットのSAM間エレメント転送コマンドをSAMユニット9bに送信する。
ステップST250:
SAMユニット9bが、SAM間エレメント転送コマンドに応じて、ステップST245で生成したメモリ分割用パッケージを格納した図16に示すSAM間エレメント転送レスポンスをSAMユニット9aに送信する。
ステップST251:
SAMユニット9bが、受信したメモリ分割用パッケージを用いて、例えば、サーバ装置19bおよびインターネット10を介して、携帯通信装置41に格納されたICモジュール42にアクセスを行い、ICモジュール42のメモリの記憶領域を分割して所定のサービス事業者に使用させる。
【0056】
なお、上述したSAMユニット9aと9bとの間の通信は、アプリケーションエレメントデータAPEを転送する通信路を複数同時に設定して行ってもよい。
【0057】
以下、上述したメモリ分割用パッケージ(APE)に対しての図8に示すタグデータAPE_TAGの設定方法について説明する。
ICカード3およびICモジュール42のメモリ内の記憶領域を多分割する場合には、タグデータAPE_TAGとして、分割したメモリ領域の利用が想定される名前を設定する。 具体的には、図20に示すように、ICカード3のICモジュール3aあるいはICモジュール42のメモリ50の記憶領域(プライベート)内を、サービス事業者Bが使用する領域(Private B)と、他のサービス事業者Aが使用する領域(Public A)に分割した後に、領域(Private B)を、サービス事業者B1が使用する領域(Private B1)と、サービス事業者B2が使用する領域(Private B2)とに分割して使用する場合がある。
この場合に、Public領域であればタグ名を“Public”を使用し、Private領域であれば、“PrivateB1”、“PrivateB2”にする。
この場合に、SAMユニット9a,9bを管理する運用者側で、上述したタグデータAPE_TAGと、メモリ分割用パッケージの内容についての合意がとれれば、タグデータAPE_TAGを指定したメモリ分割操作が実現可能である。
【0058】
多分割を想定したメモリ分割用パッケージのタグデータAPE_TAGの命名規則として、発行用パッケージまたはメモリ分割用パッケージまたはその他のパッケージの種別、メモリ分割エリア名、エリアコードまたはサービスコードを連結した文字列を使用する。
図20に示す場合でのパッケージのエレメントタグ命令例を下記に列挙する。
メモリ分割領域B2のメモリ分割用パッケージのタグデータAPE_TAGとして "D:\\PrivateB2" を使用し、メモリ分割領域B1 の発行用パッケージのタグデータAPE_TAGとして "I:\\ PrivateB1“を使用し、Public領域のサービス「100C」のタグデータAPE_TAGとして“S:\\Public¥100C”を使用する。
【0059】
以下、図1に示す通信システム1の全体動作について説明する。
図21および図22は、図1に示す通信システム1の全体動作を説明するための図である。
【0060】
ステップST21:
サービス事業者15_1〜15_3あるいはこれらサービス事業者の依頼を受けた者が、当該サービス事業者がICカード3を用いて行う取り引きについての処理を記述したスクリプトプログラムを、例えば、図1に示すパーソナルコンピュータ16_1,16_2,16_3上で作成する。
また、SAMモジュール8の管理者が、サービス事業者15_1〜15_3のそれぞれに対応するAP管理用データを作成する。
【0061】
ステップST22:
AP管理用データが外部メモリ7に記憶される。
また、ステップST21で作成されたスクリプトプログラムが、パーソナルコンピュータ16_1,16_2,16_3から、インターネット10、ASPサーバ装置19a,19bおよびSAMモジュール8を介して、SAMユニット9a,9bの外部メモリ7にダウンロードされる。当該ダウンロードの処理は、図13に示すように、SAMモジュール8内のスクリプトダウンロードタスクによって管理される。
【0062】
ステップST23:
SAMモジュール8内のスクリプト解釈タスクによって、各サービス事業者毎に、AP管理用テータおよびスクリプトプログラムを用いて、ICカードエンティティテンプレートデータ、入力用データブロック、出力用データブロック、ログ用データブロックおよび演算定義用データブロックが生成される。
これら生成されたデータは、図11に示すSAMモジュール8のメモリ65に格納される。
【0063】
ステップST24:
ユーザにICカード3(ICモジュール42)が発行される。
図3に示すICモジュール3aおよびICモジュール42のメモリ50には、ユーザが契約を行ったサービス事業者との取り引きに用いられる鍵データが記憶されている。
なお、ユーザとサービス事業者との間の契約は、ICカード3の発行後に、インターネット10などを介して行ってもよい。
【0064】
ステップST25:
例えば、ユーザがパーソナルコンピュータ5を用いてインターネット10を介してサーバ装置2にアクセスを行い、商品を購入しようとした場合に、サーバ装置2がインターネット10を介してASPサーバ装置19a,19bに処理要求を出す。
ASPサーバ装置19a,19bは、サーバ装置2から処理要求を受けると、インターネット10を介してパーソナルコンピュータ5にアクセスを行う。そして、カードリーダ・ライタ4が出したICカード3についての処理要求が、パーソナルコンピュータ5、インターネット10およびASPサーバ装置19a,19bを介してSAMユニット9a,9bのSAMモジュール8に送信される。
【0065】
ステップST26:
ASPサーバ装置19a,19bからSAMモジュール8にエンティティ作成要求が出される。当該エンティティ作成要求には、ICカード3の発行元を示すデータが格納されている。
【0066】
ステップST27:
SAMモジュール8は、エンティティ作成要求を受けると、ICカード3との間でポーリングを行う。
【0067】
ステップST28:
SAMモジュール8のエンティティ生成タスク71は、ポーリング終了後に、SAMモジュール8内に存在するICカードエンティティデータの数が、スクリプトプログラムのSCコマンドによって規定された最大数以内であるか否かを判断し、最大数以内であればステップST29の処理に進み、そうでない場合には処理を終了する。
【0068】
ステップST29:
エンティティ生成タスクが、例えば、エンティティ作成要求に格納されたICカード3の発行元を示すデータに基づいて、何れのサービス事業者のICカードエンティティテンプレートデータを用いるかを特定し、当該特定したICカードエンティティプレートデータ用いて、ICカードエンティティデータを生成する。
【0069】
ステップST30:
SAMモジュール8からASPサーバ装置19a,19bに、ステップST29で生成したICカードエンティティデータのエンティティIDが出力される。
【0070】
ステップST31:
SAMモジュール8のICカード手続管理用タスクによって、ICカード3で利用可能なサービスが調べられる。
【0071】
ステップST32:
SAMモジュール8のICカード手続管理用タスクがICカード3の正当性を認証する。
【0072】
ステップST33:
ICカード3がSAMモジュール8の正当性を認証する。
ステップST32,ST33によって、ICカード3とSAMモジュール8との間の相互認証が行われる。
このとき、前述したように、SAMモジュール8で実行されているアプリケーションエレメントデータAPEに応じて、AP管理用データが参照されて、カードアクセス鍵が取得され、当該鍵を用いてSAMモジュール8とICカード3のCPU51との間で相互認証が行われる。
【0073】
ステップST34:
SAMモジュール8のICカード手続管理用タスクが、ICカード3との間で、手続きに必要なデータの読み書きを行う。
また、ICカード手続管理用タスク72は、ICカードエンティティデータに基づいて特定した演算式を用いて、ICカード3から読み出したデータを用いて所定の演算処理を行う。
【0074】
ステップST35:
SAMモジュール8のICカード手続管理用タスクが、ステップST34の処理結果をASPサーバ装置19a,19bに出力する。
【0075】
ステップST36:
例えば、SAMモジュール8のICカード手続管理用タスクが、ICカードエンティティデータを消去する。
【0076】
以上説明したように、通信システム1およびSAMユニット9a,9bによれば、SAM間通信により、カード用アクセス鍵や鍵発行パッケージ等のアプリケーションエレメントデータAPEを秘匿した状態で授受可能となる。
また、SAM間通信を行うための設定として、アプリケーションエレメントデータAPEの他のSAMへの公開範囲を規定できるため、公開側SAM側でアプリケーションエレメントデータAPEの他からのアクセス範囲を規定できる。
また、通信システム1およびSAMユニット9a,9bによれば、SAM間通信を行うための設定として、アプリケーションエレメントデータAPEへのアクセス属性が規定できるため、公開側SAM側で当該アプリケーションエレメントデータAPEへの書込み権、読込み権、実行権を個別に設定することが可能である。
【0077】
また、通信システム1およびSAMユニット9a,9bによれば、SAM間通信を行うための設定として、アプリケーションエレメントデータAPEの公開範囲およびアクセス属性を設定できる権限を規定できるため、当該設定が不正に行われることを防止できる。
また、通信システム1およびSAMユニット9a,9bによれば、SAM間通信を行うための設定として、アプリケーションエレメントデータAPEの公開範囲を相互認証鍵データ単位に設定するため、アプリケーションエレメントデータAPEを公開することに伴う相互認証処理の負担を軽減できる。
【0078】
また、通信システム1およびSAMユニット9a,9bによれば、SAM間の相互認証において、同一の相互認証鍵かつ相互認証範囲である場合には、相互認証の処理を一部省略可能するため、相互認証に伴う通信コストの低減とSAM内の処理を軽減することが可能となる。
また、通信システム1およびSAMユニット9a,9bによれば、SAM間通信における、転送用のアプリケーションエレメントデータAPEの指定にタグデータAPE_TAGを使用することで、サービス事業者やメモリ運用者による多様なメモリ管理が可能となる。
また、通信システム1およびSAMユニット9a,9bによれば、SAM間通信において、転送用のアプリケーションエレメントデータAPEの種別とその内容を拡張して、カード処理に関わるログ等を転送することにより、相手先のSAMに処理の開始・終了などを通知することが可能となる。
【0079】
また、通信システム1およびSAMユニット9aによれば、アプリケーションプログラムAPを複数のアプリケーションエレメントデータAPEを用いて構成し、AP管理用テーブルデータおよびAPPテーブルデータを用いて、各アプリケーションエレメントデータAPEの処理内容を規定することで、ICカード3を用いた多様なサービスを提供できる。
また、通信システム1によれば、AP管理用テーブルデータおよびAPPテーブルデータを用いて、同一SAM内でのアプリケーションエレメントデータAPEの利用、並びに異なるSAM間でのアプリケーションエレメントデータAPEの利用を高いセキュリティを保ちながら柔軟に実現できる。
また、通信システム1によれば、異なるSAM間でアプリケーションエレメントデータAPEを利用する場合に、SAM間で相互認証を行うため、アプリケーションプログラムのセキュリティを高めることができる。
【0080】
〔その他の実施形態〕
図23は、本発明のその他の実施形態を説明するための図である。
図23に示すように、ICカード(ICモジュール)510内には、ICモジュール3aあるいはICモジュール42を用いて所定のサービスを提供するサービス事業者Aが取り扱うデータA、サービス事業者Bが取り扱うデータBの2つのデータ領域が存在する。
それぞれに、リーダ・ライタ511によってICカード510内をアクセスする際に必要となる鍵データA、鍵データBが設定される。
リーダ・ライタ511(A)は、サービス事業者Aが所持するもので、リーダ・ライタ513(B)は、サービス事業者Bが所持するものである。
サービス事業者Aが所持するリーダ・ライタ511には、ICカード510内のデータAのアクセスを可能とするサービス事業者Aが生成した鍵Aが保持され、サービス事業者Bが所持するリーダ・ライタBには、ICカード内のデータBのアクセスを可能とするサービス事業者Bが生成した鍵データBが保持される。
鍵データの設定は、制御部512を利用して事前に行うものとする。制御部512から鍵データ設定を意味する指令を発すると、リーダ・ライタ511はその鍵データを保持する。
【0081】
図23では、制御部512は一つしかなく、リーダ・ライタ511に接続されているが、リーダ・ライタ513も事前にサービス事業者Bが制御部512により鍵データを設定しているものとする。これによって、サービス事業者Aが生成した鍵データAはサービス事業者Bには知られず、逆に、サービス事業者Bが生成した鍵データBはサービス事業者Aには知られない。
制御部512は、制御通信経路を介してリーダ・ライタ511に接続されており、制御部512からリーダ・ライタ511に対して、ICカード510内のデータをアクセスするための指令を送信する。
当該指令は、ICカード510内のメモリの指定領域の読み出しや、指定領域への指定データの書き込み等からなる。読み出しの場合、読み出したデータを、通信経路を介して制御へ返送する。書き込みの場合、成否を、通信経路を介して制御部512へ返送する。
【0082】
例えば、データA及びデータBを格納したICカード510がリーダ・ライタ511とICカード通信経路を介して接続されたとする。尚、ICカード通信経路は、有線、無線、光等、何らかの情報交換が出来る手段であれば何を使用してもよい。ここで、制御部がリーダ・ライタ511へ、制御通信経路を介して、ICカード510内のデータAを読み出して、データAをデータBに書き込む指令を発したとする。
このとき、リーダ・ライタ511は上述したように、ICカード510内のデータA及びデータBの両方をアクセスする必要が生じる。リーダ・ライタ511は、データAをアクセス可能な鍵データAしか保持していないので、連携部AにデータBのアクセスが可能な鍵データBの取得要求を発する。
連携部Aは、リーダ・ライタ通信経路を介してリーダ・ライタ513内の連携部Bと接続し、上記取得要求を連携部Bへ伝達する。尚、リーダ・ライタ通信経路は、上述のICカード通信経路同様、有線、無線、光等、何らかの情報交換が出来る手段であれば何を使用してもよい。リーダ・ライタ通信経路を流れる情報は、連携部A及び連携部Bが保持する鍵データCによって暗号化され、どのような情報が行き交っているか分からないようになっている。取得要求を受信したリーダ・ライタB内の連携部Bは、ICカード510内のデータBのアクセスが可能となる鍵データBを、鍵データCによって暗号化されたリーダ・ライタ通信経路を介してリーダ・ライタ511内の連携部Aへ返送する。以上の動作によって、リーダ・ライタ511は、ICカード510内のデータAをアクセスするために必要な鍵データA及びデータBをアクセスするために必要な鍵データBの双方を入手することができる。
これにより、ICカード510内のデータAを読み出し、データAをデータBの領域へ書き込むことが可能となる。
【0083】
リーダ・ライタ511および513は、様々な鍵データ情報を保持するため、容易に解析が行えない構成になっている。図24にリーダ・ライタ511,513の構成の一例を示す。
CPU532は全体の制御を司る演算制御部である。メモリ部533は、CPU532の演算制御手順が記録されているプログラム部541と、CPU532による演算制御結果等を保持するデータ部542に分かれる。
暗号部534は、CPU532から与えられた鍵データを利用して、CPU532から与えられたデータの暗号化または複号化を行う。
CPU532、メモリ部533および暗号部534は、内部バス531を介して接続されており、秘匿が必要な情報を多く取り扱うことから、同一チップ520上に搭載され、外部からその動作が解析出来ないようになっている。
制御IF523は、図23に示す制御部512と通信を行うインターフェイスであり、CPU532から与えられたデータを制御部512へ送信するとともに、制御部512から受信したデータがCPU532に取り込む。
カードIF521は、ICカード510と通信を行うインターフェイスであり、CPU532から与えられたデータをICカード510へ送信するとともに、ICカード510から受信したデータがCPU532に取り込まれる。
連携IF522は、他のリーダ・ライタと通信を行うインターフェイスであり、CPU532から与えられたデータを他のリーダ・ライタへ送信するとともに、他のリーダ・ライタから受信したデータをCPU532に取り込む。
【0084】
図23のリーダ・ライタ511および513には鍵データCのみが事前に設定されており、そのリーダ・ライタを所有するサービス事業者も知り得ない。
一方、サービス事業者Aは、利用前に、ICカード510内のデータAをアクセス可能な鍵データAを生成し、メモリ部533内のプログラム部541に格納された手順により、CPU532が制御IF523から鍵データデータを読み取り、メモリ部533内の特定の領域に保持するように成されている。
また、現在リーダ・ライタが保持している鍵データがICカード510内のどのデータをアクセス可能か管理するための情報管理領域がメモリ部533内のデータ部542に存在する。
当該情報管理領域は、図25に示すテーブルにより、自身が所持する鍵データを知ることが出来る。図25に示す鍵データである8桁の16進数12345678は一例を示したものである。
【0085】
データA及びデータBが格納されたICカード510がカードIF521を介して接続状態となり、制御部512から制御IF523を介して、データAの領域をデータBへ書き込むように指令が送られると、リーダ・ライタ511は情報管理領域を調べる。メモリ部533のデータ部542内にはデータAをアクセス可能な鍵データAしかないため、連携IF522を介して、リーダ・ライタ513へ鍵データBの取得を要求する。要求を受けたリーダ・ライタ513の情報管理領域は、図26に示すテーブルを保持し、鍵データである例えば8桁の16進数「56789ABC」を格納している。
【0086】
要求を受け取ったリーダ・ライタ513は、情報管理領域を調べると、データBのアクセスに必要な鍵データを保持していることがわかるので、そのための鍵データをリーダ・ライタ511に連携IF522を介して返送する。尚、連携IF522は、事前に設定された鍵データCによって暗号化されており、リーダ・ライタ513からリーダ・ライタ511へ返送された鍵データBが漏洩することはない。
【0087】
他のリーダ・ライタから取得した後のリーダ・ライタ内での鍵データの寿命は、以下のように取り扱うことが可能である。
(1)制御部512から明示的に消去指令がない限り永続的に保持する。
(2)時限付きで、一定時間経過するまで保持し続ける。
(3)必要な都度逐次該当するリーダ・ライタから取得する。
上述した例では、ICカード510内のデータをアクセスするために必要な鍵データが他のリーダ・ライタで保持されている場合に、他のリーダ・ライタから取得する場合を例として挙げたが、取り扱う情報は、鍵データである必要はなく、様々な種類の情報に適用可能である。
図27は、鍵データ以外のデータも取り扱うことを考慮した場合の情報管理領域の例である。
図27において、ICカードアクセス用鍵データが2つ保持されており、アクセス可能な領域がデータA、データBであることを示している。属性欄は、そのオリジナル情報がどこに存在するかを示している。自身とある場合には、自身の装置内に存在することを示す。データBのICカード・アクセス用鍵データに関しては、リーダ・ライタBから取得したことが分かる。自身以外から取得した情報は、上述したように、設定された寿命の取り扱いに従い、情報管理領域が変化する。
これまでは、リーダ・ライタ2台の場合の例を想定したが、3台以上であっても構わない。また、リーダ・ライタ間の通信も、より広域なネットワーク環境で利用することも可能である。図28は、以上を適用した場合の構成例を示した図である。
これまで連携部は1対1のリーダ・ライタ間接続されていたが、図28においては、インターネット網等の公衆ネットワーク網に接続されている。ここで、リーダ・ライタ611とリーダ・ライタ613が連携して通信する場合に必要となる鍵データを鍵データAB、リーダ・ライタ611とリーダ・ライタ614が連携して通信する場合に必要となる鍵データを鍵データACとして、それぞれ異なるようにすると、互いの通信間を傍受することが出来ないだけなく、例えば、リーダ・ライタ613がリーダ・ライタCから無断で情報を取得するような許可されていないアクセスを防止することが出来る。
【0088】
以上説明したように、本発明の実施の形態によれば、複数のデータ処理装置(SAM)間で連携したサービスを迅速に提供することを可能にする通信方法、データ処理装置およびプログラムを提供することができる。
また、本発明の実施の形態によれば、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したデータ処理装置相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理できる通信方法、データ処理装置およびそのプログラムを提供することができる。
【図面の簡単な説明】
【0089】
【図1】図1は本実施形態の通信システムの全体構成図である。
【図2】図2は図1に示すICカードの機能ブロック図である。
【図3】図3は図2に示すメモリを説明するための図である。
【図4】図4は図1に示すSAMモジュールのソフトウェア構造を説明するための図である。
【図5】図5は図1に示す外部メモリの記憶領域を説明するための図である。
【図6】図6は参照元の図5に示すアプリケーションプログラムを説明するための図である。
【図7】図7は図6に示すデータPT,OPTの詳細を説明するための図である。
【図8】図8は公開元の図5に示すアプリケーションプログラムを説明するための図である。
【図9】図9は図8に示すデータPT,OPTの詳細を説明するための図である。
【図10】図10はアプリケーションエレメントデータAPEの種別を説明するための図である。
【図11】図11は図1に示すSAMモジュールの機能ブロック図である。
【図12】図12は図1に示すSAMユニット間での通信方法を説明するための図である。
【図13】図13は図12に示すSAMユニット間通信で、縮退鍵を転送する場合を説明するための図である。
【図14】図14はSAM間エレメント転送コマンドSAMAPETCを説明するための図である。
【図15】図15は図14に示すエレメント属性を説明するための図である。
【図16】図16はSAM間エレメント転送レスポンスSAMAPETRを説明するための図である。
【図17】図17はSAM間での相互認証の手順を説明するための図である。
【図18】図18は図13を参照して前述したSAMユニット間の縮退鍵データの転送の動作例を説明するための図である。
【図19】図19はメモリ分割用パッケージの生成および転送処理を説明するための図である。
【図20】図20はモリ分割用パッケージ(APE)に対しての図8に示すタグデータAPE_TAGの設定方法について説明するための図である。
【図21】図21は図1に示す通信システムの全体動作を説明するための図である。
【図22】図22は図1に示す通信システムの全体動作を説明するための図である。
【図23】図23は本発明のその他の実施形態を説明するための図である。
【図24】図24は本発明のその他の実施形態を説明するための図である。
【図25】図25は本発明のその他の実施形態を説明するための図である。
【図26】図26は本発明のその他の実施形態を説明するための図である。
【図27】図27は本発明のその他の実施形態を説明するための図である。
【図28】図28は本発明のその他の実施形態を説明するための図である。
【符号の説明】
【0090】
1…通信システム、2…サーバ装置、3…ICカード、3a…ICモジュール、4…カードリーダ・ライタ、5…パーソナルコンピュータ、7…外部メモリ、8…SAMモジュール、9,9a…SAMユニット、15_1〜15_3…サービス事業者、19…ASPサーバ装置、41…携帯通信装置、42…ICモジュール、43…通信処理部
【技術分野】
【0001】
本発明は、たとえば、ICなどの集積回路を用いたサービス提供に用いられるデータ処理方法とシステムに関する。
【背景技術】
【0002】
現在、ICカードを用いてインターネットなどのネットワークを介した取り引きを行う通信システムが開発されている。
このような通信システムでは、ICカードを用いたサービスを提供するサービス提供者からの依頼を受けて当該サービス提供者が規定した手続き処理を実行するアプリケーションプログラムをサーバ装置が実行する。
サーバ装置は、例えばICカードのリーダ・ライタやPC(Personal Computer) から処理要求に応じて、上記アプリケーションプログラムに基づいて、ユーザ認証やデータの暗号化及び復号などの処理を行う。
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、上述したようなICカードを用いたサービスは、SAM(Secure Application Module) を用いて行われるが、複数のSAMが連携して単体のICカードを用いたサービスを提供する場合に、複数のSAM間で連携したサービスを迅速に提供したいという要請がある。
また、この場合に、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したSAM相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理したいという要請がある。
【0004】
本発明はかかる事情に鑑みてなされたものであり、複数のSAM(データ処理装置)間で連携したサービスを迅速に提供することを可能にするデータ処理方法とデータ処理システムを提供することを目的とする。
また、本発明は、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したSAM(データ処理装置)相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理できるデータ処理方法とデータ処理システムを提供することを目的とする。
【課題を解決するための手段】
【0005】
本発明によれば、通信装置の通信機能を用いてネットワークを介して少なくとも第1のサーバ装置と第2のサーバ装置と通信を行うICカードあるいはICモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理方法であって、
前記メモリに記憶されたデータにアクセスするための処理に必要な第1および第2のアプリケーションプログラムをそれぞれ実行する第1および第2のデータ処理装置が、ネットワークを介さずにそれぞれ前記第1のサーバ装置および前記第2のサーバ装置に接続され、
前記第2のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第1のアプリケーションプログラムが利用するデータモジュールを示す第1の管理データを前記第1のデータ処理装置が保持し、前記第1のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第2の管理データを前記第2のデータ処理装置が保持する場合に、前記第1のデータ処理装置と前記第2のデータ処理装置が、それぞれ前記第1の管理データと前記第2の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、相互認証を行う場合は前記第1のデータ処理装置と前記第2のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第1のデータ処理装置が前記第1の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第2のデータ処理装置に送信し、前記第2のデータ処理装置が、前記要求に応じて、前記第2の管理データを参照し、前記要求で指定されたデータモジュールを前記第1のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第1のデータ処理装置に送信し、前記第1のデータ処理装置が、前記第2のデータ処理装置から取得したデータモジュールを含んだ前記第1のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、ことを特徴とするデータ処理方法が提供される。
【0006】
また、本発明によれば、ネットワークにそれぞれ接続された第1および第2のサーバ装置と、前記ネットワークを介して前記第1および第2のサーバ装置に接続され、メモリを有するICカードあるいはICモジュールと、前記ネットワークを介さずにそれぞれ前記第1のサーバ装置および前記第2のサーバ装置に接続され、前記ICカードあるいはICモジュールのメモリに記憶されたデータにアクセスするための処理に必要な第1および第2のアプリケーションプログラムをそれぞれ実行する第1および第2のデータ処理装置とを有し、前記ICカードあるいはICモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理システムであって、前記第1のデータ処理装置が、前記第2のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第1のアプリケーションプログラムが利用するデータモジュールを示す第1の管理データを保持し、前記第2のデータ処理装置が前記第1のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第2の管理データを保持する場合に、前記第1のデータ処理装置と前記第2のデータ処理装置が、それぞれ前記第1の管理データと前記第2の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、相互認証を行う場合は前記第1のデータ処理装置と前記第2のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第1のデータ処理装置が前記第1の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第2のデータ処理装置に送信し、前記第2のデータ処理装置が、前記要求に応じて、前記第2の管理データを参照し、前記要求で指定されたデータモジュールを前記第1のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第1のデータ処理装置に送信し、前記第1のデータ処理装置が、前記第2のデータ処理装置から取得したデータモジュールを含んだ前記第1のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、ことを特徴とするデータ処理システムが提供される。
【発明の効果】
【0007】
本発明によれば、複数のデータ処理装置(たとえば、、SAMユニット)間で連携したサービスを迅速に提供することを可能にするデータ処理方法とデータ処理システムを提供することができる。
【0008】
また、本発明によれば、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したデータ処理装置相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理できるデータ処理方法とデータ処理システムを提供することができる。
【発明を実施するための最良の形態】
【0009】
以下、本発明のデータ処理方法およびデータ処理システムの実施の形態を添付図面を参照して説明する。
図1は、本発明の本実施形態の通信システム1の全体構成図である。
図1に示すように、通信システム1は、店舗などに設置されたサーバ装置2、ICカード3、カードリーダ・ライタ4、パーソナルコンピュータ5、ASP(Application Service Provider)サーバ装置19a、19b、SAM(Secure Application Module) ユニット9a,9b、ICモジュール42(本発明の集積回路)が内蔵された携帯通信装置41を用いて、インターネット10を介して通信を行ってICカード3あるいは携帯通信装置41を用いた決済処理などの手続き処理を行う。
SAMユニット9a(本発明の第1のデータ処理装置)は、外部メモリ7(本発明の記憶手段)およびSAMモジュール8(本発明の処理手段)を有する。
また、SAMユニット9b(本発明の第2のデータ処理装置)も、同様に、外部メモリ7およびSAMモジュール8を有する。
SAMモジュール8は、必要に応じて、図示しない他のSAMモジュールとデータの授受を行う。
【0010】
〔通信システム1の特徴〕
本実施形態では、図1に示すSAMユニット9aが、SAMユニット9bの外部メモリ7に格納されたアプリケーションエレメントデータAPEを利用する場合のSAMユニット9aとSAMユニット9bとの間の通信に特徴を有している。
例えば、SAMユニット9a,9bを用いて異なるサービス事業者間でサービスを連携して運用するためには、ICカード(ICモジュール)操作に必要なカード用アクセス鍵、カード用発行鍵パッケージを秘密にした状態で他のサービス事業者に渡すことが必要となる。
【0011】
例えば、異なるサービス事業者間で、ICカード3との相互認証鍵を計算するためには、カード用アクセス鍵またはカード用縮退鍵などの鍵情報を入手する必要がある。
具体的には、SAMユニット9aで金額決裁をSAMユニット9bで商品購入を行い、しかもICカードとの1回の相互認証期間中で双方の処理を完結させる場合には、SAMユニット9aからSAMユニット9bに金額決裁に必要な鍵情報を転送し、SAMユニット9b側でICカード3へのアクセスに必要な鍵を合成する必要がある。
この場合に、SAMユニット9aとSAMユニット9bとで個別にICカード3にアクセスを行うことが可能だが、金額決裁と商品購入の双方の操作および処理について同時性を保証することが困難となる。例えば、SAMユニット9aによる金額決裁が完了したが、SAMユニット9bによる商品の入手処理が完結しないなどの事態が生じる。
【0012】
また、ICカードの共有メモリ領域を借りて、独自にサービスを展開する事業者は、例えば共有メモリ領域の管理者(メモリ運用機構)から、ICカード3上にサービスを登録するための鍵情報(エリア登録用鍵パッケージ等)を入手する必要がある。
また、ICカード3内のメモリを論理的に分割して共有メモリ領域を生成するために必要なカード分割用鍵パッケージを、メモリ運用機構と共有領域提供者(例えばサービス事業者)間で授受する必要がある。
通信システム1は、上述したような複数の事業者によるサービスを連携して提供したり、鍵パッケージなどのアプリケーションエレメントデータAPEを授受する際に、SAMユニット9aとSAMユニット9bなどのSAMユニット相互間でセキュアな通信路を簡単に確立できる手法を提供する。
【0013】
以下、図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のユーザの識別データを記憶している。
【0014】
携帯通信装置41は、携帯電話網およびインターネット10を介してASPサーバ装置19a、19bと通信を行う通信処理部43と、通信処理部43との間でデータ授受可能なICモジュール42とを有し、アンテナからインターネット10を介してSAMユニット9aと通信を行う。
ICモジュール42は、携帯通信装置41の通信処理部43とデータ授受を行う点を除いて、前述したICカード3のICモジュール3aと同じ機能を有している。
なお、携帯通信装置41を用いた処理は、ICカード3を用いた処理と同様に行われ、ICモジュール42を用いた処理はICモジュール3aを用いた処理と同様に行われるため、以下の説明では、ICカード3およびICモジュール3aを用いた処理について例示する。
【0015】
以下、SAMユニット9a,9bについて詳細に説明する。
SAMユニット9a,9bは、前述したように、外部メモリ7(本発明の記憶手段)とSAMモジュール8(本発明の処理手段)とを有する。
ここで、SAMモジュール8は、半導体回路として実現してもよいし、筐体内に複数の回路を収容した装置として実現してもよい。
【0016】
〔SAMモジュール8のソフトウェア構成〕
SAMモジュール8は、図4に示すようなソフトウェア構成を有している。
図4に示すように、SAMモジュール8は、下層から上層に向けて、ハードウェアHW層、周辺HWに対応したRTOSカーネルなどを含めたドライバ層(OS層)、論理的にまとまった単位の処理を行う下位ハンドラ層、アプリケーション固有のライブラリなどをまとめた上位ハンドラ層およびAP層を順に有している。
ここで、AP層では、図1に示すクレジットカード会社などのサービス事業者のパーソナル・ーソナルコンピュータ(PC)15_1,15_2,15_3によるICカード3を用いた手続きを規定したアプリケーションプログラムAP_1,AP_2,AP_3(本発明のアプリケーションプログラム)が、外部メモリ7から読み出されて動作している。
各アプリケーションプログラムには、1つ以上のマクロ・スクリプトが設定可能である。
AP層では、アプリケーションプログラムAP_1,AP_2,AP_3相互間、並びに上位ハンドラ層との間にファイアウォールFWが設けられている。
【0017】
〔外部メモリ7〕
図5は、外部メモリ7の記憶領域を説明するための図である。
図5に示すように、外部メモリ7の記憶領域には、パーソナル・ーソナルコンピュータ(PC)16−1を有するサービス事業者15_1のアプリケーションプログラムAP_1が記憶されるAP記憶領域220_1、PC16−2を有するサービス事業者の15_2のアプリケーションプログラムAP_2が記憶されるAP記憶領域220_2、PC16−3を有するサービス事業者15_3のアプリケーションプログラムAP_3が記憶されるAP記憶領域220_3、並びにSAMモジュール208の管理者が使用するAP管理用記憶領域221がある。
ここで、SAMユニット9aの外部メモリ7に記憶されるアプリケーションプログラムが本発明の第1のアプリケーションプログラムに対応し、SAMユニット9bの外部メモリ7に記憶されるアプリケーションプログラムが本発明の第2のアプリケーションプログラムに対応している。
【0018】
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ユニット9aの外部から外部メモリ7にダウンロードされる最小単位である。各アプリケーションプログラムを構成するアプリケーションエレメントデータAPEの数は、対応するサービス事業者が任意に決定できる。
【0019】
また、外部メモリ7に記憶されたアプリケーションプログラムAP_1,AP_2,AP_3は、スクランブル(暗号化)されており、SAMモジュール8に読み込まれたときに、デスクランブル(解読)される。
また、アプリケーションプログラムAP_1,AP_2,AP_3は、例えば、それぞれ図1に示すパーソナルコンピュータ(PC)16_1,16_2,16_3を用いて、サービス事業者15_1,15_2,15_3によって作成され、SAMモジュール8を介して外部メモリ7にダウンロードされる。
【0020】
以下、アプリケーションプログラムAP_1,AP_2,AP_3について詳細に説明する。
アプリケーションプログラムは、サービス事業者毎に、SAMユニット内に単数または複数個存在する。
【0021】
先ず、図1に示すSAMユニット9a(SAM_A)の外部メモリ7に格納されたアプリケーションプログラムAPについて説明する。
図6は、図1に示すSAMユニット9a(SAM_A)の外部メモリ7に格納されたアプリケーションプログラムAPを説明するための図である。
図6に示すように、当該アプリケーションプログラムAPは、当該アプリケーションプログラムAPを識別するための識別データAP_IDと、当該アプリケーションプログラム(あるいはそのパッケージ)のバージョン(世代情報)を示すデータAPP_VERと、当該アプリケーションプログラムに含まれるアプリケーションエレメントデータAPEの数を示すデータAPE_NUMと、当該アプリケーションプログラムを構成する単数または複数のアプリケーションエレメントデータAPEの識別データAPE_IDと、タグデータAPE_TAGと、利用許可データPTと、オプションデータOPTと、アプリケーションエレメントデータAPEの実体APE_PLとを有する。
なお、図6および図7に示すタグデータAPE_TAG、利用許可データPTおよびオプションデータOPTが本発明の第1の管理データに対応している。
【0022】
識別データAP_IDは、サービス事業者毎に異なるように決められている。
また、タグデータAPE_TAGは、サービス事業者が設定可能なアプリケーションエレメントデータAPEの識別用タグであり、アプリケーションプログラムAP内で一意に特定可能に決定される。
また、図6において、アプリケーションプログラムAPに格納された4つの識別データAPE_IDのうち、斜線で示した3つのAPE_IDに対応するアプリケーションエレメントデータAPEの実体は、図1に示すSAMユニット9b(SAM_B)からSAMユニット9a(SAM_A)に後述するように転送される。
すなわち、これら3つのアプリケーションエレメントデータAPEの実体は、SAMユニット9aの外部メモリ7には存在しない。
【0023】
図7(A)は、図6に示す利用許可データPTを説明するための図である。
図7(A)に示すように、利用許可データPTは、相互認証鍵数、相互認証の有無、SAM_Aの相互認証鍵のインスタンス、SAM_Aの相互認証鍵のアプリケーションエレメントデータAPE、SAM_Bの相互認証のインスタンス、SAM_Bの相互認証鍵のアプリケーションエレメントデータAPEと、アクセス権限データPMSDとを有する。
ここで、図7(A)で斜線を付した相互認証の有無と、SAM_Bの相互認証のインスタンスと、SAM_Bの相互認証鍵のアプリケーションエレメントデータAPEとは、SAMユニット9bに存在し、SAMユニット9bから転送して取得される。
【0024】
図7(B)は、図6に示すオプションデータOPTを説明するための図である。
図7(B)に示すように、オプションデータOPTは、SAM_BのSAM_IDと、SAM_Bに格納されたアプリケーションプログラムの識別データAP_ID(B)と、フラグデータPCFとを格納している。
フラグデータPCFは、アプリケーションエレメントデータAPEがSAMユニット9aの外部および内部の何れに存在するかを示す第1のフラグと、当該アプリケーションプログラムのアプリケーションエレメントデータAPEを外部に公開するか非公開にするかを示す第2のフラグと、外部に公開した場合にそれを一時的に利用させるかあるいは保存(永久利用)させるかを示す第3のフラグとを有する。
図7(B)に示す例では、第1のフラグは外部を示し、第2および第3のフラグは未設定になっている。
【0025】
また、利用許可データPTあるいはオプションデータOPTには、例えば、アプリケーションプログラムAP内の各設定データを設定可能な主体の正当性を認証するためのデータが格納されており、SAMモジュール8aは、当該データに基づいて、当該設定データの設置を許可するか否かを判断する。
また、本実施形態では、各アプリケーションプログラムが使用するポートが規定されており、当該アプリケーションプログラムに規定されたポートを利用する、権限や用途などが管理データとして規定されている。SAMユニット9a,9bは、当該管理データに基づいて、各アプリケーションプログラムに規定されたポートの利用形態を決定する。
【0026】
次に、図1に示すSAMユニット9b(SAM_B)の外部メモリ7に格納されたアプリケーションプログラムAPについて説明する。
図8は、図1に示すSAMユニット9b(SAM_B)の外部メモリ7に格納されたアプリケーションプログラムAPを説明するための図である。
図8に示すように、当該アプリケーションプログラムAPは、当該アプリケーションプログラムAPを識別するための識別データAP_IDと、当該アプリケーションプログラム(あるいはそのパッケージ)のバージョン(世代情報)を示すデータAPP_VERと、当該アプリケーションプログラムに含まれるアプリケーションエレメントデータAPEの数を示すデータAPE_NUMと、当該アプリケーションプログラムを構成する単数または複数のアプリケーションエレメントデータAPEの識別データAPE_IDと、タグデータAPE_TAGと、利用許可データPTと、オプションデータOPTと、アプリケーションエレメントデータAPEの実体APE_PLとを有する。
なお、図8および図9に示すタグデータAPE_TAG、利用許可データPTおよびオプションデータOPTが本発明の第2の管理データに対応している。
【0027】
また、図8において、アプリケーションプログラムAPに格納された4つの識別データAPE_IDのうち、括弧で示した3つのAPE_IDに対応するアプリケーションエレメントデータAPEの実体は、図1に示すSAMユニット9a(SAM_A)から利用される。
これら3つのアプリケーションエレメントデータAPEの実体は、SAMユニット9bの外部メモリ7には存在する。
【0028】
図9(A)は、図6に示す利用許可データPTを説明するための図である。
図9(A)に示すように、利用許可データPTは、相互認証鍵数、相互認証の有無、SAM_Bの相互認証鍵のインスタンス、SAM_Bの相互認証鍵のアプリケーションエレメントデータAPE、SAM_Aの相互認証のインスタンス、SAM_Aの相互認証鍵のアプリケーションエレメントデータAPEと、アクセス権限データPMSDとを有する。
ここで、図9(A)で斜線を付した相互認証の有無と、SAM_Aの相互認証のインスタンスと、SAM_Aの相互認証鍵のアプリケーションエレメントデータAPEとは、SAMユニット9aから転送して取得される。
また、アクセス権限データPMSDは、当該アプリケーションプログラムAPに格納されたアプリケーションエレメントデータAPE毎に、当該APEの外部からのアクセス(利用)を許可する形態(読み出し、書き込み、あるいは実行)を指定している。当該指定は、予め指定は、予め規定された権限を特定して行われてもよい。
【0029】
図9(B)は、図8に示すオプションデータOPTを説明するための図である。
図9(B)に示すように、オプションデータOPTは、SAM_AのSAM_IDと、SAM_Aに格納されたアプリケーションプログラムの識別データAP_ID(A)と、フラグデータPCFとを格納している。
フラグデータPCFは、図9(B)の例では、第1のフラグは内部を示し、第2のフラグは公開を示し、第3のフラグは一時利用を示している。
【0030】
なお、アプリケーションエレメントデータAPEは、暗号化されたパッケージを各領域別に設定することで、外部メモリ7に格納される。
【0031】
以下、アプリケーションエレメントデータAPEの種別(APE_TYPE)について説明する。
図10は、アプリケーションエレメントデータAPEの種別を説明するための図である。
図10に示すように、アプリケーションエレメントデータAPEの種別(APE_TYPE)としては、APリソース鍵データK_APR、カードアクセス鍵データ(ICエリア鍵データ、IC縮退鍵データなど)、ファイルシステムコンフィグレーションデータ、SAM相互認証用鍵データ、SAM間鍵パッケージ鍵データ、ICカード操作用マクロコマンドスクリプトプログラム、メモリ分割用鍵パッケージ、メモリ分割用素鍵パッケージ、拡張発行用鍵パッケージ、発行用鍵パッケージ、エリア登録鍵パッケージ、エリア削除用鍵パッケージ、サービス登録用鍵データ、サービス削除用鍵パッケージ、が、アプリケーションエレメントデータAPEとして記憶されている。
【0032】
以下、図10に示すアプリケーションエレメントデータAPEの種別のうち一部を詳細に説明する。
・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に含まれる。
【0033】
・ファイルシステムコンフィグレーションデータ
ファイルシステムコンフィグレーションデータとしては、例えば、ログデータ、ネガデータ、ジャーナルデータがある。
ログデータは例えばアプリケーションエレメントデータAPEの利用履歴データであり、ネガデータは例えばICカードの失効情報であり、ジャーナルデータは例えばSAMでの実行履歴である。
例えば、ファイルシステムコンフィグレーションでは、ファイルアクセスの種別(レコードキー指定・ソート・リング)の選択を行い、レコードキーの場合であれば、レコードサイズ、レコード全体件数・レコード署名バージョン・レコード署名メソッドタイプ、レコードデータサイズ、レコード署名鍵を設定する。さらに、外部から本ファイルシステムにデータを書き込む際に署名検証を実施するかの有無の指定などを行う。ここでレコードとは、ファイルデータへの書き込み/読み出しの最小単位である。
【0034】
・SAM相互認証用鍵データ
同一SAM内にあるAP間相互認証にも使用される。
SAM相互認証用鍵データとは、対応するアプリケーションエレメントデータAPEを同一SAM内の他のAPまたは他のSAMからアクセスする際に用いられる鍵データである。
・SAM間鍵パッケージ鍵
SAM間鍵パッケージ鍵とは、SAM間での相互認証後、カードアクセス鍵データなどのデータを交換する際に用いられる暗号化用鍵データである。
・ICカード操作用マクロコマンドスクリプトプログラム
ICカード操作用マクロコマンドスクリプトプログラムは、サービス事業者自身によって生成され、ICカード3に係わる処理の順番やASPサーバ装置19とのやり取りを記述している。ICカード操作用マクロコマンドスクリプトプログラムは、SAMユニット9aに設定された後に、SAMモジュール8内で解釈され、対応するICカードエンティティデータが生成される。
【0035】
・メモリ分割用鍵パッケージ
メモリ分割用鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、外部メモリ7やICカード3のメモリの記憶領域を分割するために使用するデータである。
・エリア登録鍵パッケージ
エリア登録鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、ICカード3のメモリの記憶領域にエリア登録を行う場合に使用するデータである。
・エリア削除用鍵パッケージ(内部生成)
エリア削除用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
【0036】
・サービス登録用鍵(内部生成)
サービス登録用鍵パッケージは、サービス事業者がICカード3を用いたサービスの運用開始前に、外部メモリ7のアプリケーションエレメントデータAPEを登録するために用いられる。
サービス登録用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
・サービス削除用鍵パッケージ(内部生成)
サービス削除用鍵パッケージは、外部メモリ7に登録されているアプリケーションエレメントデータAPEを削除するために用いられる。
サービス削除用鍵パッケージは、カードアクセス鍵データからSAM内部で自動生成が可能なパッケージである。
【0037】
また、図5に示す外部メモリ7内のAP管理用記憶領域221には、上述したアプリケーションプログラムAP_1〜AP_3を管理するためのAP管理用データが記憶されている。
AP管理用記憶領域221へのアクセスは、ファイアウォールFW_4によって制限されている。
【0038】
〔SAMモジュール8〕
SAMモジュール8は、SCSIまたはEthernet(登録商標)などを介してASPサーバ装置19a,19bに接続される。ASPサーバ装置19は、インターネット10を介して、エンドユーザのパーソナルコンピュータ5、サービス事業者15_1,15_2,15_3のパーソナルコンピュータ16_1,16_2,16_3を含む複数の端末装置に接続される。
パーソナルコンピュータ5は、例えば、シリアルまたはUSBを介してDumb型のカードリーダ・ライタ4に接続されている。カードリーダ・ライタ4が、ICカード3(ICモジュール42)との間で物理レベルに相当する例えば無線通信を実現する。
ICカード3(ICモジュール42)への操作コマンドおよびICカード3(ICモジュール42)からのリスポンスパケットは、SAMユニット9a,9b側で生成および解読される。よって、その中間に介在するカードリーダ・ライタ4、パーソナルコンピュータ5およびASPサーバ装置19は、コマンドやリスポンス内容をデータペイロード部分に格納して中継する役割を果たすのみで、ICカード3内のデータの暗号化や復号および認証などの実操作には関与しない。
【0039】
パーソナルコンピュータ16_1,16_2,16_3は、後述するスクリプトプログラムをSAMモジュール8にダウンロードすることで、それぞれアプリケーションプログラムAP_1,AP_2,AP_3をカスタマイズできる。
【0040】
図11は、図1に示すSAMモジュール8の機能ブロック図である。
図11に示すように、SAMモジュール8は、ASPS通信インタフェース部60、外部メモリ通信インタフェース部61、バススクランブル部62、乱数発生部63、暗号・復号部64、メモリ65およびCPU66を有する。
SAMモジュール8は、耐タンパ性のモジュールである。
【0041】
ASPS通信インタフェース部60は、図1に示すASPサーバ装置19a,19bとの間のデータ入出力に用いられるインタフェースである。
外部メモリ通信インタフェース部61は、外部メモリ7との間のデータ入出力に用いられるインタフェースである。
バススクランブル部62は、外部メモリ通信インタフェース部61を介してデータを入出力する際に、出力するデータをスクランブルし、入力したデータをデスクランブルする。
乱数発生部63は、認証処理を行う際に用いられる乱数を発生する。
暗号・復号部64は、データの暗号化、並びに暗号化されたデータの復号を行う。
メモリ65は、後述するように、CPU66によって用いられるタスク、プログラム、並びにデータを記憶する。
CPU66は、ICカード手続管理タスク(ジョブ管理用データ管理タスク)などのタスクを実行する。
CPU66は、SAMユニット9a,9b内での操作コマンドに基づいてSAMユニット9a,9b内で規定された処理を行い、ICカード3のICモジュール3aおよび携帯通信装置41のICモジュール42の操作コマンドとに基づいて、ICモジュール3aおよびICモジュール42の処理を制御する。
SAMユニット9aのCPU66とSAMユニット9bのCPU66は、後述するように、SAMユニット9a,9b間でのデータ授受(通信)を制御する。
【0042】
〔SAM間通信〕
以下、図12に示すように、SAMユニット9aと9bとの間で、アプリケーションエレメントデータAPEの転送を行う場合の通信方法について説明する。
通信システム1では、前述したように、SAMユニット9aとSAMユニット9bとが連携してICカード3およびICモジュール42を用いたサービスを提供する場合に、SAMユニット9aと9bとの間で、アプリケーションエレメントデータAPEの転送を行う。
この場合に、SAMユニット9a,9bの図11に示すASPS通信インタフェース部60を用いて、SAMユニット9aと、サーバ装置19aと、サーバ装置19bと、SAMユニット9bとの間で通信が行われる。
例えば、図13に示すように、SAMユニット9bの外部メモリ7に格納されたアプリケーションプログラムAP(B)内に縮退鍵データ(APE)の実体が格納され、SAMユニット9aの外部メモリ7に格納されたアプリケーションプログラムAP(A)から、当該縮退鍵データを参照する場合に、SAMユニット9bが公開元となり、SAMユニット9aが参照元となる。
そして、SAMユニット9bからSAMユニット9aに、当該縮退鍵データをのアプリケーションエレメントデータAPEが転送される。
当該転送は、SAMユニット9aおよび9bのアプリケーションプログラムAP(A),(B)内にあるオプションデータOPT、フラグデータPCF、並びにアクセス権限データPMSDの設定内容に基づいて、SAMユニット9aから9bにSAM間エレメント転送コマンドを送信し、それに応じて、SAMユニット9bから9aにSAM間エレメント転送レスポンスを送信して行われる。
【0043】
図14は、SAM間エレメント転送コマンドSAMAPETCを説明するための図である。
図14に示すように、SAM間エレメント転送コマンドSAMAPETCは、自分(コマンドの転送元)のアプリケーションプログラムの識別データAP_ID、相手(コマンドの転送先)のアプリケーションプログラムの識別データAP_ID、転送先(相手側)の相互認証鍵のインスタンス番号、転送を要求するアプリケーションエレメントデータAPEの数(エレメント属性数)、転送先との間で行う相互認証の管理ID(相互認証管理ID)、並びにアプリケーションエレメントデータAPEの属性リスト(エレメント属性リスト)を有する。
ここで、エレメント属性リストは、アプリケーションエレメントデータAPEの種別(APE_TYPE)と、エレメント属性とを有する。
当該エレメント属性は、図15に示すように、転送を要求するアプリケーションエレメントデータAPEの種別(APE_TYEP)により、設定する項目が異なる。
例えば、図15に示すように、転送するアプリケーションエレメントデータAPEがエリア・サービス鍵データの場合には、システムコード、エリア/サービスコード、エレメントバージョンをエレメント属性として設定する。
【0044】
図16は、SAM間エレメント転送レスポンスSAMAPETRを説明するための図である。
図16に示すように、SAM間エレメント転送レスポンスSAMAPETRは、自分(レスポンスの転送元)のアプリケーションプログラムの識別データAP_ID、相手(レスポンスの転送先)のアプリケーションプログラムの識別データAP_ID、転送先(相手側)の相互認証鍵のインスタンス番号、転送するアプリケーションエレメントデータAPEの数(エレメント属性数)、レスポンスの転送先との間で行う相互認証の管理ID(相互認証管理ID)、フラグデータPCF、並びにエレメントリストを有する。
ここで、エレメントリストは、アプリケーションエレメントデータAPEの種別(APE_TYPE)と、エレメント属性サイズと、エレメント属性と、アプリケーションエレメントデータAPEの実体とをを有する。
当該エレメント属性は、図15に示すように、返却するアプリケーションエレメントデータAPEの種別(APE_TYEP)により、設定する項目が異なる。
例えば、図15に示すように、返却するアプリケーションエレメントデータAPEがエリア・サービス鍵データの場合には、エリア鍵データとサービス鍵データとをエレメント属性として設定する。
【0045】
上述したSAM間エレメント転送コマンド/レスポンスを用いた、SAMユニット9aと9bとの間の転送は、SAMユニット9aと9bとの間で相互認証を行った後に行われる。
【0046】
図17は、SAMユニット9aと9bとの間の相互認証の手順を説明するための図である。
ステップST201:
参照元のSAMユニット9aのSAMモジュール8のCPU66が、SAMユニット9bのSAM_ID、参照を行うアプリケーションプログラムAPのAP_ID、使用するアプリケーションプログラムAPのポートID、SAMユニット9の相互認証鍵のアプリケーションエレメントデータAPEのAPE_ID、暗号方式、SAMユニット9aが生成した乱数値RAとを、SAMユニット9bの相互認証鍵データAK_Bを用いて暗号化して格納した認証コマンドAUTH_C1を生成する。CPU66は、認証コマンドAUTH_C1を、サーバ装置19a,19bを介してSAMユニット9bに送信する。
【0047】
ステップST202:
アプリケーションエレメントデータAPEの提供側であるSAMユニット9bのSAMモジュール8のCPU66が、ステップST201で受信した認証コマンドAUTH_C1を、相互認証鍵データAK_Bを用いて復号し、当該復号によって得たデータと、SAMユニット9bが生成した乱数値RBとを、SAMユニット9aの相互認証鍵データAK_Aを用いて暗号化して格納した認証レスポンスAUTH_R1を生成する。CPU66は、認証レスポンスAUTH_R1を、サーバ装置19b,19aを介してSAMユニット9aに送信する。
【0048】
ステップST203:
SAMユニット9aのSAMモジュール8のCPU66が、ステップST202で受信した認証レスポンスAUTH_R1を、相互認証鍵データAK_Aを用いて復号し、当該復号によって得た乱数値RAと、ステップST201で生成した乱数値RAとが一致しているか否かを判断し、一致していると判断した場合に、乱数値RBを相互認証鍵データAK_Bを用いて暗号化して格納した認証コマンドAUTH_C2を生成する。CPU66は、認証コマンドAUTH_C2を、サーバ装置19a,19bを介してSAMユニット9bに送信する。
【0049】
ステップST204:
SAMユニット9bのSAMモジュール8のCPU66が、ステップST203で受信した認証コマンドAUTH_C2を、相互認証鍵データAK_Bを用いて復号し、当該復号によって得た乱数値RBと、ステップST202で生成した乱数値RBとが一致しているか否かを判断し、一致していると判断した場合に、相互認証管理IDを格納し、認証レスポンスAUTH_R2を生成する。CPU66は、認証レスポンスAUTH_R2を、サーバ装置19b,19aを介してSAMユニット9aに送信する。
これにより、SAMユニット9aと9bとの間の相互認証が完了する。
【0050】
なお、SAMユニット9aと9bとの間で既に相互認証が終了してセッションが確立されている場合には、ステップST201の認証コマンドAUTH_C1の送信に続いて、ステップST202,ST203を省略して、ステップST204の認証レスポンスAUTH_R2の送信を行ってもよい。
すなわち、SAMユニット9a,9bでは、相互認証鍵データを単位として相互認証の管理を行い、既に確立したセッションであれば、相互認証手続きを省略できる。ここで、要求された処理について、対応する相互認証鍵データを用いた既にセッションが確立されているか否かの判断は、要求先(図17の場合にはSAMユニット9b)において行われる。
【0051】
以下、図13を用いて前述したSAMユニット9aと9bとの間の縮退鍵データの転送の動作例を説明する。
図18は、当該動作例を説明するための図である。
ステップST221:
サーバ装置19bが、SAMユニット9bに、縮退鍵データが既に設定(更新)されているか否かを確認する。
ステップST222:
サーバ装置19bが、サーバ装置19aに、縮退鍵データがSAMユニット9bに既に設定されていることを通知する。すなわち、転送対象となるアプリケーションエレメントデータAPEが、既にSAMユニット9bに準備できていることを参照元に通知する。
ステップST223:
サーバ装置19aが、SAMユニット9aのCPU66の内部状態(モード)を、SAM間連携が可能なモードに変更する。
ステップST224:
サーバ装置19aが、SAMユニット9aに、ICカード3(ICモジュール42)を用いた処理を依頼する。
ステップST225:
SAMユニット9aのCPU66は、当該依頼に基づいて処理を行い、その処理中に,
SAMユニット9bに存在するアプリケーションエレメントデータAPEである縮退鍵データが必要となり、かつ、当該縮退鍵がSAMユニット9aに存在していない場合に、SAMユニット9bとの間で図17を用いて説明した相互認証を行い、セッションを確立する。
【0052】
ステップST226:
SAMユニット9aのCPU66は、SAMユニット9bに縮退鍵データの転送要求(図14に示すSAMAPETC)を送信する。
ステップST227:
SAMユニット9bのCPU66は、当該転送要求に応じて、指定された縮退鍵データのアプリケーションエレメントデータAPEを格納した図16に示すSAM間エレメント転送レスポンス(SAMAPETR)を生成し、これをSAMユニット9aに送信する。
ステップST228:
SAMユニット9aのCPU66は、ステップST225で確立したセッションを遮断し、受信したSAM間エレメント転送レスポンスに格納された縮退鍵データを用いてICカード3(ICモジュール42)に係わる処理を行う。
【0053】
次に、図10に示すメモリ分割用鍵パッケージの生成および分割操作を、SAMユニット9aと9bとの間の通信で実現する例を説明する
本例では、例えば、ICカード3およびICモジュール42のメモリの記憶領域の貸し出しなどの運用を行うメモリ運用者がSAMユニット9bを使用し、メモリ領域提供者がSAMユニット9aを使用する。
ここで、メモリ分割用パッケージはメモリ分割用素パッケージを素にして生成される。
メモリ分割用素パッケージは運用者側のSAMユニット9aで生成され、メモリ分割用パッケージはメモリ領域提供者側のSAMユニット9bで生成される。
従って、SAMユニット9bが、メモリ分割用パッケージを生成する場合に、SAM間通信により,SAMユニット9aからメモリ分割用素パッケージを取得する必要がある。
図19は、メモリ分割用パッケージの生成および転送処理を説明するための図である。
ステップST241:
メモリ運用者のサーバ装置19aが、SAMユニット9aに、メモリ分割用素パッケージの生成コマンドを発行する。
SAMユニット9aは、当該コマンドに応じて、メモリ分割用素パッケージを生成する。
ステップST242:
サーバ装置19aが、サーバ装置19bに、メモリ分割用素パッケージがSAMユニット9aにおいて生成されたことを通知する。
ステップST243:
サーバ装置19bが、SAMユニット9bに、メモリ分割用パケットデータの生成コマンドを発行する。
【0054】
ステップST244:
SAMユニット9bと9aとの間で、図17を用いて説明した相互認証処理を行った後に、SAMユニット9bが、メモリ分割素パケットデータを指定した図14に示すフォーマットのSAM間エレメント転送コマンドをSAMユニット9aに送信する。
ステップST245:
SAMユニット9aが、SAM間エレメント転送コマンドに応じて、ステップST241で生成したメモリ分割用素パッケージを格納した図16に示すSAM間エレメント転送レスポンスをSAMユニット9bに送信する。
SAMユニット9bが、受信したメモリ分割用素パッケージを用いて、メモリ分割用パッケージを生成する。
ステップST246:
SAMユニット9bが、メモリ分割用パッケージが生成されたことをサーバ装置19bに通知する。
ステップST247:
サーバ装置19bが、メモリ分割用パッケージが生成されたことをサーバ装置19aに通知する。
【0055】
ステップST248:
サーバ装置19aが、ICカード3およびICモジュール42のメモリを分割することを指示するメモリ分割コマンドをサーバ装置19aに発行する。
ステップST249:
SAMユニット9bと9aとの間で、図17を用いて説明した相互認証処理を行った後に、SAMユニット9aが、メモリ分割パケットデータを指定した図14に示すフォーマットのSAM間エレメント転送コマンドをSAMユニット9bに送信する。
ステップST250:
SAMユニット9bが、SAM間エレメント転送コマンドに応じて、ステップST245で生成したメモリ分割用パッケージを格納した図16に示すSAM間エレメント転送レスポンスをSAMユニット9aに送信する。
ステップST251:
SAMユニット9bが、受信したメモリ分割用パッケージを用いて、例えば、サーバ装置19bおよびインターネット10を介して、携帯通信装置41に格納されたICモジュール42にアクセスを行い、ICモジュール42のメモリの記憶領域を分割して所定のサービス事業者に使用させる。
【0056】
なお、上述したSAMユニット9aと9bとの間の通信は、アプリケーションエレメントデータAPEを転送する通信路を複数同時に設定して行ってもよい。
【0057】
以下、上述したメモリ分割用パッケージ(APE)に対しての図8に示すタグデータAPE_TAGの設定方法について説明する。
ICカード3およびICモジュール42のメモリ内の記憶領域を多分割する場合には、タグデータAPE_TAGとして、分割したメモリ領域の利用が想定される名前を設定する。 具体的には、図20に示すように、ICカード3のICモジュール3aあるいはICモジュール42のメモリ50の記憶領域(プライベート)内を、サービス事業者Bが使用する領域(Private B)と、他のサービス事業者Aが使用する領域(Public A)に分割した後に、領域(Private B)を、サービス事業者B1が使用する領域(Private B1)と、サービス事業者B2が使用する領域(Private B2)とに分割して使用する場合がある。
この場合に、Public領域であればタグ名を“Public”を使用し、Private領域であれば、“PrivateB1”、“PrivateB2”にする。
この場合に、SAMユニット9a,9bを管理する運用者側で、上述したタグデータAPE_TAGと、メモリ分割用パッケージの内容についての合意がとれれば、タグデータAPE_TAGを指定したメモリ分割操作が実現可能である。
【0058】
多分割を想定したメモリ分割用パッケージのタグデータAPE_TAGの命名規則として、発行用パッケージまたはメモリ分割用パッケージまたはその他のパッケージの種別、メモリ分割エリア名、エリアコードまたはサービスコードを連結した文字列を使用する。
図20に示す場合でのパッケージのエレメントタグ命令例を下記に列挙する。
メモリ分割領域B2のメモリ分割用パッケージのタグデータAPE_TAGとして "D:\\PrivateB2" を使用し、メモリ分割領域B1 の発行用パッケージのタグデータAPE_TAGとして "I:\\ PrivateB1“を使用し、Public領域のサービス「100C」のタグデータAPE_TAGとして“S:\\Public¥100C”を使用する。
【0059】
以下、図1に示す通信システム1の全体動作について説明する。
図21および図22は、図1に示す通信システム1の全体動作を説明するための図である。
【0060】
ステップST21:
サービス事業者15_1〜15_3あるいはこれらサービス事業者の依頼を受けた者が、当該サービス事業者がICカード3を用いて行う取り引きについての処理を記述したスクリプトプログラムを、例えば、図1に示すパーソナルコンピュータ16_1,16_2,16_3上で作成する。
また、SAMモジュール8の管理者が、サービス事業者15_1〜15_3のそれぞれに対応するAP管理用データを作成する。
【0061】
ステップST22:
AP管理用データが外部メモリ7に記憶される。
また、ステップST21で作成されたスクリプトプログラムが、パーソナルコンピュータ16_1,16_2,16_3から、インターネット10、ASPサーバ装置19a,19bおよびSAMモジュール8を介して、SAMユニット9a,9bの外部メモリ7にダウンロードされる。当該ダウンロードの処理は、図13に示すように、SAMモジュール8内のスクリプトダウンロードタスクによって管理される。
【0062】
ステップST23:
SAMモジュール8内のスクリプト解釈タスクによって、各サービス事業者毎に、AP管理用テータおよびスクリプトプログラムを用いて、ICカードエンティティテンプレートデータ、入力用データブロック、出力用データブロック、ログ用データブロックおよび演算定義用データブロックが生成される。
これら生成されたデータは、図11に示すSAMモジュール8のメモリ65に格納される。
【0063】
ステップST24:
ユーザにICカード3(ICモジュール42)が発行される。
図3に示すICモジュール3aおよびICモジュール42のメモリ50には、ユーザが契約を行ったサービス事業者との取り引きに用いられる鍵データが記憶されている。
なお、ユーザとサービス事業者との間の契約は、ICカード3の発行後に、インターネット10などを介して行ってもよい。
【0064】
ステップST25:
例えば、ユーザがパーソナルコンピュータ5を用いてインターネット10を介してサーバ装置2にアクセスを行い、商品を購入しようとした場合に、サーバ装置2がインターネット10を介してASPサーバ装置19a,19bに処理要求を出す。
ASPサーバ装置19a,19bは、サーバ装置2から処理要求を受けると、インターネット10を介してパーソナルコンピュータ5にアクセスを行う。そして、カードリーダ・ライタ4が出したICカード3についての処理要求が、パーソナルコンピュータ5、インターネット10およびASPサーバ装置19a,19bを介してSAMユニット9a,9bのSAMモジュール8に送信される。
【0065】
ステップST26:
ASPサーバ装置19a,19bからSAMモジュール8にエンティティ作成要求が出される。当該エンティティ作成要求には、ICカード3の発行元を示すデータが格納されている。
【0066】
ステップST27:
SAMモジュール8は、エンティティ作成要求を受けると、ICカード3との間でポーリングを行う。
【0067】
ステップST28:
SAMモジュール8のエンティティ生成タスク71は、ポーリング終了後に、SAMモジュール8内に存在するICカードエンティティデータの数が、スクリプトプログラムのSCコマンドによって規定された最大数以内であるか否かを判断し、最大数以内であればステップST29の処理に進み、そうでない場合には処理を終了する。
【0068】
ステップST29:
エンティティ生成タスクが、例えば、エンティティ作成要求に格納されたICカード3の発行元を示すデータに基づいて、何れのサービス事業者のICカードエンティティテンプレートデータを用いるかを特定し、当該特定したICカードエンティティプレートデータ用いて、ICカードエンティティデータを生成する。
【0069】
ステップST30:
SAMモジュール8からASPサーバ装置19a,19bに、ステップST29で生成したICカードエンティティデータのエンティティIDが出力される。
【0070】
ステップST31:
SAMモジュール8のICカード手続管理用タスクによって、ICカード3で利用可能なサービスが調べられる。
【0071】
ステップST32:
SAMモジュール8のICカード手続管理用タスクがICカード3の正当性を認証する。
【0072】
ステップST33:
ICカード3がSAMモジュール8の正当性を認証する。
ステップST32,ST33によって、ICカード3とSAMモジュール8との間の相互認証が行われる。
このとき、前述したように、SAMモジュール8で実行されているアプリケーションエレメントデータAPEに応じて、AP管理用データが参照されて、カードアクセス鍵が取得され、当該鍵を用いてSAMモジュール8とICカード3のCPU51との間で相互認証が行われる。
【0073】
ステップST34:
SAMモジュール8のICカード手続管理用タスクが、ICカード3との間で、手続きに必要なデータの読み書きを行う。
また、ICカード手続管理用タスク72は、ICカードエンティティデータに基づいて特定した演算式を用いて、ICカード3から読み出したデータを用いて所定の演算処理を行う。
【0074】
ステップST35:
SAMモジュール8のICカード手続管理用タスクが、ステップST34の処理結果をASPサーバ装置19a,19bに出力する。
【0075】
ステップST36:
例えば、SAMモジュール8のICカード手続管理用タスクが、ICカードエンティティデータを消去する。
【0076】
以上説明したように、通信システム1およびSAMユニット9a,9bによれば、SAM間通信により、カード用アクセス鍵や鍵発行パッケージ等のアプリケーションエレメントデータAPEを秘匿した状態で授受可能となる。
また、SAM間通信を行うための設定として、アプリケーションエレメントデータAPEの他のSAMへの公開範囲を規定できるため、公開側SAM側でアプリケーションエレメントデータAPEの他からのアクセス範囲を規定できる。
また、通信システム1およびSAMユニット9a,9bによれば、SAM間通信を行うための設定として、アプリケーションエレメントデータAPEへのアクセス属性が規定できるため、公開側SAM側で当該アプリケーションエレメントデータAPEへの書込み権、読込み権、実行権を個別に設定することが可能である。
【0077】
また、通信システム1およびSAMユニット9a,9bによれば、SAM間通信を行うための設定として、アプリケーションエレメントデータAPEの公開範囲およびアクセス属性を設定できる権限を規定できるため、当該設定が不正に行われることを防止できる。
また、通信システム1およびSAMユニット9a,9bによれば、SAM間通信を行うための設定として、アプリケーションエレメントデータAPEの公開範囲を相互認証鍵データ単位に設定するため、アプリケーションエレメントデータAPEを公開することに伴う相互認証処理の負担を軽減できる。
【0078】
また、通信システム1およびSAMユニット9a,9bによれば、SAM間の相互認証において、同一の相互認証鍵かつ相互認証範囲である場合には、相互認証の処理を一部省略可能するため、相互認証に伴う通信コストの低減とSAM内の処理を軽減することが可能となる。
また、通信システム1およびSAMユニット9a,9bによれば、SAM間通信における、転送用のアプリケーションエレメントデータAPEの指定にタグデータAPE_TAGを使用することで、サービス事業者やメモリ運用者による多様なメモリ管理が可能となる。
また、通信システム1およびSAMユニット9a,9bによれば、SAM間通信において、転送用のアプリケーションエレメントデータAPEの種別とその内容を拡張して、カード処理に関わるログ等を転送することにより、相手先のSAMに処理の開始・終了などを通知することが可能となる。
【0079】
また、通信システム1およびSAMユニット9aによれば、アプリケーションプログラムAPを複数のアプリケーションエレメントデータAPEを用いて構成し、AP管理用テーブルデータおよびAPPテーブルデータを用いて、各アプリケーションエレメントデータAPEの処理内容を規定することで、ICカード3を用いた多様なサービスを提供できる。
また、通信システム1によれば、AP管理用テーブルデータおよびAPPテーブルデータを用いて、同一SAM内でのアプリケーションエレメントデータAPEの利用、並びに異なるSAM間でのアプリケーションエレメントデータAPEの利用を高いセキュリティを保ちながら柔軟に実現できる。
また、通信システム1によれば、異なるSAM間でアプリケーションエレメントデータAPEを利用する場合に、SAM間で相互認証を行うため、アプリケーションプログラムのセキュリティを高めることができる。
【0080】
〔その他の実施形態〕
図23は、本発明のその他の実施形態を説明するための図である。
図23に示すように、ICカード(ICモジュール)510内には、ICモジュール3aあるいはICモジュール42を用いて所定のサービスを提供するサービス事業者Aが取り扱うデータA、サービス事業者Bが取り扱うデータBの2つのデータ領域が存在する。
それぞれに、リーダ・ライタ511によってICカード510内をアクセスする際に必要となる鍵データA、鍵データBが設定される。
リーダ・ライタ511(A)は、サービス事業者Aが所持するもので、リーダ・ライタ513(B)は、サービス事業者Bが所持するものである。
サービス事業者Aが所持するリーダ・ライタ511には、ICカード510内のデータAのアクセスを可能とするサービス事業者Aが生成した鍵Aが保持され、サービス事業者Bが所持するリーダ・ライタBには、ICカード内のデータBのアクセスを可能とするサービス事業者Bが生成した鍵データBが保持される。
鍵データの設定は、制御部512を利用して事前に行うものとする。制御部512から鍵データ設定を意味する指令を発すると、リーダ・ライタ511はその鍵データを保持する。
【0081】
図23では、制御部512は一つしかなく、リーダ・ライタ511に接続されているが、リーダ・ライタ513も事前にサービス事業者Bが制御部512により鍵データを設定しているものとする。これによって、サービス事業者Aが生成した鍵データAはサービス事業者Bには知られず、逆に、サービス事業者Bが生成した鍵データBはサービス事業者Aには知られない。
制御部512は、制御通信経路を介してリーダ・ライタ511に接続されており、制御部512からリーダ・ライタ511に対して、ICカード510内のデータをアクセスするための指令を送信する。
当該指令は、ICカード510内のメモリの指定領域の読み出しや、指定領域への指定データの書き込み等からなる。読み出しの場合、読み出したデータを、通信経路を介して制御へ返送する。書き込みの場合、成否を、通信経路を介して制御部512へ返送する。
【0082】
例えば、データA及びデータBを格納したICカード510がリーダ・ライタ511とICカード通信経路を介して接続されたとする。尚、ICカード通信経路は、有線、無線、光等、何らかの情報交換が出来る手段であれば何を使用してもよい。ここで、制御部がリーダ・ライタ511へ、制御通信経路を介して、ICカード510内のデータAを読み出して、データAをデータBに書き込む指令を発したとする。
このとき、リーダ・ライタ511は上述したように、ICカード510内のデータA及びデータBの両方をアクセスする必要が生じる。リーダ・ライタ511は、データAをアクセス可能な鍵データAしか保持していないので、連携部AにデータBのアクセスが可能な鍵データBの取得要求を発する。
連携部Aは、リーダ・ライタ通信経路を介してリーダ・ライタ513内の連携部Bと接続し、上記取得要求を連携部Bへ伝達する。尚、リーダ・ライタ通信経路は、上述のICカード通信経路同様、有線、無線、光等、何らかの情報交換が出来る手段であれば何を使用してもよい。リーダ・ライタ通信経路を流れる情報は、連携部A及び連携部Bが保持する鍵データCによって暗号化され、どのような情報が行き交っているか分からないようになっている。取得要求を受信したリーダ・ライタB内の連携部Bは、ICカード510内のデータBのアクセスが可能となる鍵データBを、鍵データCによって暗号化されたリーダ・ライタ通信経路を介してリーダ・ライタ511内の連携部Aへ返送する。以上の動作によって、リーダ・ライタ511は、ICカード510内のデータAをアクセスするために必要な鍵データA及びデータBをアクセスするために必要な鍵データBの双方を入手することができる。
これにより、ICカード510内のデータAを読み出し、データAをデータBの領域へ書き込むことが可能となる。
【0083】
リーダ・ライタ511および513は、様々な鍵データ情報を保持するため、容易に解析が行えない構成になっている。図24にリーダ・ライタ511,513の構成の一例を示す。
CPU532は全体の制御を司る演算制御部である。メモリ部533は、CPU532の演算制御手順が記録されているプログラム部541と、CPU532による演算制御結果等を保持するデータ部542に分かれる。
暗号部534は、CPU532から与えられた鍵データを利用して、CPU532から与えられたデータの暗号化または複号化を行う。
CPU532、メモリ部533および暗号部534は、内部バス531を介して接続されており、秘匿が必要な情報を多く取り扱うことから、同一チップ520上に搭載され、外部からその動作が解析出来ないようになっている。
制御IF523は、図23に示す制御部512と通信を行うインターフェイスであり、CPU532から与えられたデータを制御部512へ送信するとともに、制御部512から受信したデータがCPU532に取り込む。
カードIF521は、ICカード510と通信を行うインターフェイスであり、CPU532から与えられたデータをICカード510へ送信するとともに、ICカード510から受信したデータがCPU532に取り込まれる。
連携IF522は、他のリーダ・ライタと通信を行うインターフェイスであり、CPU532から与えられたデータを他のリーダ・ライタへ送信するとともに、他のリーダ・ライタから受信したデータをCPU532に取り込む。
【0084】
図23のリーダ・ライタ511および513には鍵データCのみが事前に設定されており、そのリーダ・ライタを所有するサービス事業者も知り得ない。
一方、サービス事業者Aは、利用前に、ICカード510内のデータAをアクセス可能な鍵データAを生成し、メモリ部533内のプログラム部541に格納された手順により、CPU532が制御IF523から鍵データデータを読み取り、メモリ部533内の特定の領域に保持するように成されている。
また、現在リーダ・ライタが保持している鍵データがICカード510内のどのデータをアクセス可能か管理するための情報管理領域がメモリ部533内のデータ部542に存在する。
当該情報管理領域は、図25に示すテーブルにより、自身が所持する鍵データを知ることが出来る。図25に示す鍵データである8桁の16進数12345678は一例を示したものである。
【0085】
データA及びデータBが格納されたICカード510がカードIF521を介して接続状態となり、制御部512から制御IF523を介して、データAの領域をデータBへ書き込むように指令が送られると、リーダ・ライタ511は情報管理領域を調べる。メモリ部533のデータ部542内にはデータAをアクセス可能な鍵データAしかないため、連携IF522を介して、リーダ・ライタ513へ鍵データBの取得を要求する。要求を受けたリーダ・ライタ513の情報管理領域は、図26に示すテーブルを保持し、鍵データである例えば8桁の16進数「56789ABC」を格納している。
【0086】
要求を受け取ったリーダ・ライタ513は、情報管理領域を調べると、データBのアクセスに必要な鍵データを保持していることがわかるので、そのための鍵データをリーダ・ライタ511に連携IF522を介して返送する。尚、連携IF522は、事前に設定された鍵データCによって暗号化されており、リーダ・ライタ513からリーダ・ライタ511へ返送された鍵データBが漏洩することはない。
【0087】
他のリーダ・ライタから取得した後のリーダ・ライタ内での鍵データの寿命は、以下のように取り扱うことが可能である。
(1)制御部512から明示的に消去指令がない限り永続的に保持する。
(2)時限付きで、一定時間経過するまで保持し続ける。
(3)必要な都度逐次該当するリーダ・ライタから取得する。
上述した例では、ICカード510内のデータをアクセスするために必要な鍵データが他のリーダ・ライタで保持されている場合に、他のリーダ・ライタから取得する場合を例として挙げたが、取り扱う情報は、鍵データである必要はなく、様々な種類の情報に適用可能である。
図27は、鍵データ以外のデータも取り扱うことを考慮した場合の情報管理領域の例である。
図27において、ICカードアクセス用鍵データが2つ保持されており、アクセス可能な領域がデータA、データBであることを示している。属性欄は、そのオリジナル情報がどこに存在するかを示している。自身とある場合には、自身の装置内に存在することを示す。データBのICカード・アクセス用鍵データに関しては、リーダ・ライタBから取得したことが分かる。自身以外から取得した情報は、上述したように、設定された寿命の取り扱いに従い、情報管理領域が変化する。
これまでは、リーダ・ライタ2台の場合の例を想定したが、3台以上であっても構わない。また、リーダ・ライタ間の通信も、より広域なネットワーク環境で利用することも可能である。図28は、以上を適用した場合の構成例を示した図である。
これまで連携部は1対1のリーダ・ライタ間接続されていたが、図28においては、インターネット網等の公衆ネットワーク網に接続されている。ここで、リーダ・ライタ611とリーダ・ライタ613が連携して通信する場合に必要となる鍵データを鍵データAB、リーダ・ライタ611とリーダ・ライタ614が連携して通信する場合に必要となる鍵データを鍵データACとして、それぞれ異なるようにすると、互いの通信間を傍受することが出来ないだけなく、例えば、リーダ・ライタ613がリーダ・ライタCから無断で情報を取得するような許可されていないアクセスを防止することが出来る。
【0088】
以上説明したように、本発明の実施の形態によれば、複数のデータ処理装置(SAM)間で連携したサービスを迅速に提供することを可能にする通信方法、データ処理装置およびプログラムを提供することができる。
また、本発明の実施の形態によれば、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したデータ処理装置相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理できる通信方法、データ処理装置およびそのプログラムを提供することができる。
【図面の簡単な説明】
【0089】
【図1】図1は本実施形態の通信システムの全体構成図である。
【図2】図2は図1に示すICカードの機能ブロック図である。
【図3】図3は図2に示すメモリを説明するための図である。
【図4】図4は図1に示すSAMモジュールのソフトウェア構造を説明するための図である。
【図5】図5は図1に示す外部メモリの記憶領域を説明するための図である。
【図6】図6は参照元の図5に示すアプリケーションプログラムを説明するための図である。
【図7】図7は図6に示すデータPT,OPTの詳細を説明するための図である。
【図8】図8は公開元の図5に示すアプリケーションプログラムを説明するための図である。
【図9】図9は図8に示すデータPT,OPTの詳細を説明するための図である。
【図10】図10はアプリケーションエレメントデータAPEの種別を説明するための図である。
【図11】図11は図1に示すSAMモジュールの機能ブロック図である。
【図12】図12は図1に示すSAMユニット間での通信方法を説明するための図である。
【図13】図13は図12に示すSAMユニット間通信で、縮退鍵を転送する場合を説明するための図である。
【図14】図14はSAM間エレメント転送コマンドSAMAPETCを説明するための図である。
【図15】図15は図14に示すエレメント属性を説明するための図である。
【図16】図16はSAM間エレメント転送レスポンスSAMAPETRを説明するための図である。
【図17】図17はSAM間での相互認証の手順を説明するための図である。
【図18】図18は図13を参照して前述したSAMユニット間の縮退鍵データの転送の動作例を説明するための図である。
【図19】図19はメモリ分割用パッケージの生成および転送処理を説明するための図である。
【図20】図20はモリ分割用パッケージ(APE)に対しての図8に示すタグデータAPE_TAGの設定方法について説明するための図である。
【図21】図21は図1に示す通信システムの全体動作を説明するための図である。
【図22】図22は図1に示す通信システムの全体動作を説明するための図である。
【図23】図23は本発明のその他の実施形態を説明するための図である。
【図24】図24は本発明のその他の実施形態を説明するための図である。
【図25】図25は本発明のその他の実施形態を説明するための図である。
【図26】図26は本発明のその他の実施形態を説明するための図である。
【図27】図27は本発明のその他の実施形態を説明するための図である。
【図28】図28は本発明のその他の実施形態を説明するための図である。
【符号の説明】
【0090】
1…通信システム、2…サーバ装置、3…ICカード、3a…ICモジュール、4…カードリーダ・ライタ、5…パーソナルコンピュータ、7…外部メモリ、8…SAMモジュール、9,9a…SAMユニット、15_1〜15_3…サービス事業者、19…ASPサーバ装置、41…携帯通信装置、42…ICモジュール、43…通信処理部
【特許請求の範囲】
【請求項1】
通信装置の通信機能を用いてネットワークを介して少なくとも第1のサーバ装置と第2のサーバ装置と通信を行うICカードあるいはICモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理方法であって、
前記メモリに記憶されたデータにアクセスするための処理に必要な第1および第2のアプリケーションプログラムをそれぞれ実行する第1および第2のデータ処理装置が、ネットワークを介さずにそれぞれ前記第1のサーバ装置および前記第2のサーバ装置に接続され、
前記第2のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第1のアプリケーションプログラムが利用するデータモジュールを示す第1の管理データを前記第1のデータ処理装置が保持し、前記第1のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第2の管理データを前記第2のデータ処理装置が保持する場合に、前記第1のデータ処理装置と前記第2のデータ処理装置が、それぞれ前記第1の管理データと前記第2の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、
相互認証を行う場合は前記第1のデータ処理装置と前記第2のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第1のデータ処理装置が前記第1の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第2のデータ処理装置に送信し、
前記第2のデータ処理装置が、前記要求に応じて、前記第2の管理データを参照し、前記要求で指定されたデータモジュールを前記第1のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第1のデータ処理装置に送信し、
前記第1のデータ処理装置が、前記第2のデータ処理装置から取得したデータモジュールを含んだ前記第1のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、
ことを特徴とするデータ処理方法。
【請求項2】
前記第1のサーバ装置が、前記第1のデータ処理装置に第1の要求を送信し、
前記第1のサーバ装置が、前記第1の要求に応じて、前記第1の管理データを参照して、利用しようとする前記データモジュールを指定した第2の要求を前記第2のデータ処理装置に送信する
請求項1に記載のデータ処理方法。
【請求項3】
前記第2のサーバ装置が、前記第1のアプリケーションプログラムが利用する前記データモジュールが前記第2のデータ処理装置内で利用可能な状態になっているか否かを確認し、当該確認の結果を前記第1のサーバ装置に通知し、
前記第2のサーバ装置が、前記第1のアプリケーションプログラムが利用する前記データモジュールが前記第2のデータ処理装置内で利用可能な状態になっているか否かを確認し、当該確認の結果を前記第1のサーバ装置に通知し、
前記第1のサーバ装置は、前記通知に応じて、前記第1の要求を前記第1のデータ処理装置に送信する
請求項2に記載のデータ処理方法。
【請求項4】
前記第1のデータ処理装置が、前記データモジュールを利用をするために前記第2のデータ処理装置との間で行う相互認証に用いる鍵データを格納した前記第1の管理データを保持し、
前記第2のデータ処理装置が、前記データモジュールを前記第1のアプリケーションプログラムに利用させるために前記第1のデータ処理装置との間で行う相互認証に用いる鍵データを格納した前記第2の管理データを保持し、
前記第1のデータ処理装置と前記第2のデータ処理装置とが、それぞれ前記第1の管理データおよび前記第2の管理データに格納された鍵データを用いて相互認証を行う
請求項1に記載のデータ処理方法。
【請求項5】
前記第1のデータ処理装置は、前記鍵データを用いた相互認証を終了した後、前記要求を前記第2のデータ処理装置に送信し、続いて、再び前記相互認証を行わずに、当該鍵データと対応付けられた他のデータモジュールを指定した前記要求を前記第2のデータ処理装置に送信する
請求項1に記載のデータ処理方法。
【請求項6】
前記第2のデータ処理装置が、前記第1のアプリケーションプログラムによる前記データモジュールの利用形態を規定するデータを格納した前記第2の管理データを保持し、
前記第2のデータ処理装置が、前記第2の管理データを参照して、前記規定された利用形態の範囲で、前記第1のアプリケーションプログラムによる前記データモジュールの利用を許可する
請求項1に記載のデータ処理方法。
【請求項7】
前記第2のデータ処理装置が、前記第2の管理データを設定することを許可する主体をさらに規定した前記第2の管理データを保持し、
前記第2のデータ処理装置、前記第2の管理データに規定された主体に対してのみ、前記第2の管理データの設定を許可する
請求項1に記載のデータ処理方法。
【請求項8】
前記第1のデータ処理装置が、前記第1のアプリケーションプログラムを構成する前記データモジュールの内容または使用用途を示すタグデータを含む前記第1の管理データを保持し、
前記第2のデータ処理装置が、前記第2のアプリケーションプログラムを構成する前記データモジュールの内容または使用用途を示すタグデータを含む前記第2の管理データを保持する
請求項1に記載のデータ処理方法。
【請求項9】
前記第1のデータ処理装置が、前記第1のアプリケーションプログラムに規定したポートの利用を権限あるいは用途に応じて管理するためのデータを含む前記第1の管理データを保持し、
前記第2のデータ処理装置が、前記第2のアプリケーションプログラムに規定したポートの利用を権限あるいは用途に応じて管理するためのデータを含む前記第2の管理データを保持し、
前記第1のデータ処理装置が、前記第1のアプリケーションプログラムに規定したポートの利用を、前記第1の管理データで規定された権限あるいは用途に応じて管理し、
前記第2のデータ処理装置が、前記第2のアプリケーションプログラムに規定したポートの利用を、前記第2の管理データで規定された権限あるいは用途に応じて管理する
請求項1に記載のデータ処理方法。
【請求項10】
前記第1のデータ処理装置が、利用しようとする前記データモジュールの種類を指定した要求を前記第2のデータ処理装置に送信し、
前記第2のデータ処理装置が、前記指定されたデータモジュールの種類に対応したデータモジュールを前記第1のデータ処理装置に送信する
請求項1に記載のデータ処理方法。
【請求項11】
前記第2のデータ処理装置が、前記要求に係わるデータモジュールと共に、前記データ処理装置による当該データモジュールの一時的利用あるいは保存利用のいずれを許可するかを示すデータを前記第1のデータ処理装置に送信し、
前記第1のデータ処理装置が、当該データに基づいて、前記第2のデータ処理装置から受信したデータモジュールを一時利用あるいは保存利用する
請求項1に記載のデータ処理方法。
【請求項12】
前記第1のデータ処理装置および前記第2のデータ処理装置は、前記サーバ装置を介して集積回路と通信を行い、所定のサービスを提供し、
前記データモジュールは、前記集積回路の記憶領域を操作するためのデータあるいは手順を示している
請求項1に記載のデータ処理方法。
【請求項13】
前記第1のデータ処理装置と、前記第2のデータ処理装置との間で、前記データモジュールの転送用の複数の通信路を同時に設定する
請求項1に記載のデータ処理方法。
【請求項14】
ネットワークにそれぞれ接続された第1および第2のサーバ装置と、
前記ネットワークを介して前記第1および第2のサーバ装置に接続され、メモリを有するICカードあるいはICモジュールと、
前記ネットワークを介さずにそれぞれ前記第1のサーバ装置および前記第2のサーバ装置に接続され、前記ICカードあるいはICモジュールのメモリに記憶されたデータにアクセスするための処理に必要な第1および第2のアプリケーションプログラムをそれぞれ実行する第1および第2のデータ処理装置と
を有し、
前記ICカードあるいはICモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理システムであって、
前記第1のデータ処理装置が、前記第2のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第1のアプリケーションプログラムが利用するデータモジュールを示す第1の管理データを保持し、前記第2のデータ処理装置が前記第1のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第2の管理データを保持する場合に、
前記第1のデータ処理装置と前記第2のデータ処理装置が、それぞれ前記第1の管理データと前記第2の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、
相互認証を行う場合は前記第1のデータ処理装置と前記第2のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第1のデータ処理装置が前記第1の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第2のデータ処理装置に送信し、
前記第2のデータ処理装置が、前記要求に応じて、前記第2の管理データを参照し、前記要求で指定されたデータモジュールを前記第1のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第1のデータ処理装置に送信し、
前記第1のデータ処理装置が、前記第2のデータ処理装置から取得したデータモジュールを含んだ前記第1のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、
ことを特徴とするデータ処理システム。
【請求項1】
通信装置の通信機能を用いてネットワークを介して少なくとも第1のサーバ装置と第2のサーバ装置と通信を行うICカードあるいはICモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理方法であって、
前記メモリに記憶されたデータにアクセスするための処理に必要な第1および第2のアプリケーションプログラムをそれぞれ実行する第1および第2のデータ処理装置が、ネットワークを介さずにそれぞれ前記第1のサーバ装置および前記第2のサーバ装置に接続され、
前記第2のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第1のアプリケーションプログラムが利用するデータモジュールを示す第1の管理データを前記第1のデータ処理装置が保持し、前記第1のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第2の管理データを前記第2のデータ処理装置が保持する場合に、前記第1のデータ処理装置と前記第2のデータ処理装置が、それぞれ前記第1の管理データと前記第2の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、
相互認証を行う場合は前記第1のデータ処理装置と前記第2のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第1のデータ処理装置が前記第1の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第2のデータ処理装置に送信し、
前記第2のデータ処理装置が、前記要求に応じて、前記第2の管理データを参照し、前記要求で指定されたデータモジュールを前記第1のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第1のデータ処理装置に送信し、
前記第1のデータ処理装置が、前記第2のデータ処理装置から取得したデータモジュールを含んだ前記第1のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、
ことを特徴とするデータ処理方法。
【請求項2】
前記第1のサーバ装置が、前記第1のデータ処理装置に第1の要求を送信し、
前記第1のサーバ装置が、前記第1の要求に応じて、前記第1の管理データを参照して、利用しようとする前記データモジュールを指定した第2の要求を前記第2のデータ処理装置に送信する
請求項1に記載のデータ処理方法。
【請求項3】
前記第2のサーバ装置が、前記第1のアプリケーションプログラムが利用する前記データモジュールが前記第2のデータ処理装置内で利用可能な状態になっているか否かを確認し、当該確認の結果を前記第1のサーバ装置に通知し、
前記第2のサーバ装置が、前記第1のアプリケーションプログラムが利用する前記データモジュールが前記第2のデータ処理装置内で利用可能な状態になっているか否かを確認し、当該確認の結果を前記第1のサーバ装置に通知し、
前記第1のサーバ装置は、前記通知に応じて、前記第1の要求を前記第1のデータ処理装置に送信する
請求項2に記載のデータ処理方法。
【請求項4】
前記第1のデータ処理装置が、前記データモジュールを利用をするために前記第2のデータ処理装置との間で行う相互認証に用いる鍵データを格納した前記第1の管理データを保持し、
前記第2のデータ処理装置が、前記データモジュールを前記第1のアプリケーションプログラムに利用させるために前記第1のデータ処理装置との間で行う相互認証に用いる鍵データを格納した前記第2の管理データを保持し、
前記第1のデータ処理装置と前記第2のデータ処理装置とが、それぞれ前記第1の管理データおよび前記第2の管理データに格納された鍵データを用いて相互認証を行う
請求項1に記載のデータ処理方法。
【請求項5】
前記第1のデータ処理装置は、前記鍵データを用いた相互認証を終了した後、前記要求を前記第2のデータ処理装置に送信し、続いて、再び前記相互認証を行わずに、当該鍵データと対応付けられた他のデータモジュールを指定した前記要求を前記第2のデータ処理装置に送信する
請求項1に記載のデータ処理方法。
【請求項6】
前記第2のデータ処理装置が、前記第1のアプリケーションプログラムによる前記データモジュールの利用形態を規定するデータを格納した前記第2の管理データを保持し、
前記第2のデータ処理装置が、前記第2の管理データを参照して、前記規定された利用形態の範囲で、前記第1のアプリケーションプログラムによる前記データモジュールの利用を許可する
請求項1に記載のデータ処理方法。
【請求項7】
前記第2のデータ処理装置が、前記第2の管理データを設定することを許可する主体をさらに規定した前記第2の管理データを保持し、
前記第2のデータ処理装置、前記第2の管理データに規定された主体に対してのみ、前記第2の管理データの設定を許可する
請求項1に記載のデータ処理方法。
【請求項8】
前記第1のデータ処理装置が、前記第1のアプリケーションプログラムを構成する前記データモジュールの内容または使用用途を示すタグデータを含む前記第1の管理データを保持し、
前記第2のデータ処理装置が、前記第2のアプリケーションプログラムを構成する前記データモジュールの内容または使用用途を示すタグデータを含む前記第2の管理データを保持する
請求項1に記載のデータ処理方法。
【請求項9】
前記第1のデータ処理装置が、前記第1のアプリケーションプログラムに規定したポートの利用を権限あるいは用途に応じて管理するためのデータを含む前記第1の管理データを保持し、
前記第2のデータ処理装置が、前記第2のアプリケーションプログラムに規定したポートの利用を権限あるいは用途に応じて管理するためのデータを含む前記第2の管理データを保持し、
前記第1のデータ処理装置が、前記第1のアプリケーションプログラムに規定したポートの利用を、前記第1の管理データで規定された権限あるいは用途に応じて管理し、
前記第2のデータ処理装置が、前記第2のアプリケーションプログラムに規定したポートの利用を、前記第2の管理データで規定された権限あるいは用途に応じて管理する
請求項1に記載のデータ処理方法。
【請求項10】
前記第1のデータ処理装置が、利用しようとする前記データモジュールの種類を指定した要求を前記第2のデータ処理装置に送信し、
前記第2のデータ処理装置が、前記指定されたデータモジュールの種類に対応したデータモジュールを前記第1のデータ処理装置に送信する
請求項1に記載のデータ処理方法。
【請求項11】
前記第2のデータ処理装置が、前記要求に係わるデータモジュールと共に、前記データ処理装置による当該データモジュールの一時的利用あるいは保存利用のいずれを許可するかを示すデータを前記第1のデータ処理装置に送信し、
前記第1のデータ処理装置が、当該データに基づいて、前記第2のデータ処理装置から受信したデータモジュールを一時利用あるいは保存利用する
請求項1に記載のデータ処理方法。
【請求項12】
前記第1のデータ処理装置および前記第2のデータ処理装置は、前記サーバ装置を介して集積回路と通信を行い、所定のサービスを提供し、
前記データモジュールは、前記集積回路の記憶領域を操作するためのデータあるいは手順を示している
請求項1に記載のデータ処理方法。
【請求項13】
前記第1のデータ処理装置と、前記第2のデータ処理装置との間で、前記データモジュールの転送用の複数の通信路を同時に設定する
請求項1に記載のデータ処理方法。
【請求項14】
ネットワークにそれぞれ接続された第1および第2のサーバ装置と、
前記ネットワークを介して前記第1および第2のサーバ装置に接続され、メモリを有するICカードあるいはICモジュールと、
前記ネットワークを介さずにそれぞれ前記第1のサーバ装置および前記第2のサーバ装置に接続され、前記ICカードあるいはICモジュールのメモリに記憶されたデータにアクセスするための処理に必要な第1および第2のアプリケーションプログラムをそれぞれ実行する第1および第2のデータ処理装置と
を有し、
前記ICカードあるいはICモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理システムであって、
前記第1のデータ処理装置が、前記第2のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第1のアプリケーションプログラムが利用するデータモジュールを示す第1の管理データを保持し、前記第2のデータ処理装置が前記第1のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第2の管理データを保持する場合に、
前記第1のデータ処理装置と前記第2のデータ処理装置が、それぞれ前記第1の管理データと前記第2の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、
相互認証を行う場合は前記第1のデータ処理装置と前記第2のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第1のデータ処理装置が前記第1の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第2のデータ処理装置に送信し、
前記第2のデータ処理装置が、前記要求に応じて、前記第2の管理データを参照し、前記要求で指定されたデータモジュールを前記第1のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第1のデータ処理装置に送信し、
前記第1のデータ処理装置が、前記第2のデータ処理装置から取得したデータモジュールを含んだ前記第1のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、
ことを特徴とするデータ処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【公開番号】特開2006−260594(P2006−260594A)
【公開日】平成18年9月28日(2006.9.28)
【国際特許分類】
【出願番号】特願2006−127754(P2006−127754)
【出願日】平成18年5月1日(2006.5.1)
【分割の表示】特願2001−335650(P2001−335650)の分割
【原出願日】平成13年10月31日(2001.10.31)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
【公開日】平成18年9月28日(2006.9.28)
【国際特許分類】
【出願日】平成18年5月1日(2006.5.1)
【分割の表示】特願2001−335650(P2001−335650)の分割
【原出願日】平成13年10月31日(2001.10.31)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】
[ Back to top ]