(57)【要約】【課題】相手方に秘匿したいデータと、公開するデータとを適切に管理可能なデータ処理方法と装置を提供する。【解決手段】メモリに記憶されたデータにアクセスするための処理に必要な第１、第２のＡＰを実行する第１、第２のデータ処理装置が、ネットワークを介さずに第１、第２のサーバ装置に接続され、第１のデータ処理装置と第２のデータ処理装置がそれぞれ第１、第２の管理データに含まれる相互認証有無指示データを参照して相互認証を行うか否かを決定して、相互認証を行う。【選択図】図１
2006260594.tif 000002
【特許請求の範囲】
【請求項１】
通信装置の通信機能を用いてネットワークを介して少なくとも第１のサーバ装置と第２のサーバ装置と通信を行うＩＣカードあるいはＩＣモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理方法であって、
前記メモリに記憶されたデータにアクセスするための処理に必要な第１および第２のアプリケーションプログラムをそれぞれ実行する第１および第２のデータ処理装置が、ネットワークを介さずにそれぞれ前記第１のサーバ装置および前記第２のサーバ装置に接続され、
前記第２のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第１のアプリケーションプログラムが利用するデータモジュールを示す第１の管理データを前記第１のデータ処理装置が保持し、前記第１のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第２の管理データを前記第２のデータ処理装置が保持する場合に、前記第１のデータ処理装置と前記第２のデータ処理装置が、それぞれ前記第１の管理データと前記第２の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、
相互認証を行う場合は前記第１のデータ処理装置と前記第２のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第１のデータ処理装置が前記第１の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第２のデータ処理装置に送信し、
前記第２のデータ処理装置が、前記要求に応じて、前記第２の管理データを参照し、前記要求で指定されたデータモジュールを前記第１のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第１のデータ処理装置に送信し、
前記第１のデータ処理装置が、前記第２のデータ処理装置から取得したデータモジュールを含んだ前記第１のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、
ことを特徴とするデータ処理方法。
【請求項２】
前記第１のサーバ装置が、前記第１のデータ処理装置に第１の要求を送信し、
前記第１のサーバ装置が、前記第１の要求に応じて、前記第１の管理データを参照して、利用しようとする前記データモジュールを指定した第２の要求を前記第２のデータ処理装置に送信する
請求項１に記載のデータ処理方法。
【請求項３】
前記第２のサーバ装置が、前記第１のアプリケーションプログラムが利用する前記データモジュールが前記第２のデータ処理装置内で利用可能な状態になっているか否かを確認し、当該確認の結果を前記第１のサーバ装置に通知し、
前記第２のサーバ装置が、前記第１のアプリケーションプログラムが利用する前記データモジュールが前記第２のデータ処理装置内で利用可能な状態になっているか否かを確認し、当該確認の結果を前記第１のサーバ装置に通知し、
前記第１のサーバ装置は、前記通知に応じて、前記第１の要求を前記第１のデータ処理装置に送信する
請求項２に記載のデータ処理方法。
【請求項４】
前記第１のデータ処理装置が、前記データモジュールを利用をするために前記第２のデータ処理装置との間で行う相互認証に用いる鍵データを格納した前記第１の管理データを保持し、
前記第２のデータ処理装置が、前記データモジュールを前記第１のアプリケーションプログラムに利用させるために前記第１のデータ処理装置との間で行う相互認証に用いる鍵データを格納した前記第２の管理データを保持し、
前記第１のデータ処理装置と前記第２のデータ処理装置とが、それぞれ前記第１の管理データおよび前記第２の管理データに格納された鍵データを用いて相互認証を行う
請求項１に記載のデータ処理方法。
【請求項５】
前記第１のデータ処理装置は、前記鍵データを用いた相互認証を終了した後、前記要求を前記第２のデータ処理装置に送信し、続いて、再び前記相互認証を行わずに、当該鍵データと対応付けられた他のデータモジュールを指定した前記要求を前記第２のデータ処理装置に送信する
請求項１に記載のデータ処理方法。
【請求項６】
前記第２のデータ処理装置が、前記第１のアプリケーションプログラムによる前記データモジュールの利用形態を規定するデータを格納した前記第２の管理データを保持し、
前記第２のデータ処理装置が、前記第２の管理データを参照して、前記規定された利用形態の範囲で、前記第１のアプリケーションプログラムによる前記データモジュールの利用を許可する
請求項１に記載のデータ処理方法。
【請求項７】
前記第２のデータ処理装置が、前記第２の管理データを設定することを許可する主体をさらに規定した前記第２の管理データを保持し、
前記第２のデータ処理装置、前記第２の管理データに規定された主体に対してのみ、前記第２の管理データの設定を許可する
請求項１に記載のデータ処理方法。
【請求項８】
前記第１のデータ処理装置が、前記第１のアプリケーションプログラムを構成する前記データモジュールの内容または使用用途を示すタグデータを含む前記第１の管理データを保持し、
前記第２のデータ処理装置が、前記第２のアプリケーションプログラムを構成する前記データモジュールの内容または使用用途を示すタグデータを含む前記第２の管理データを保持する
請求項１に記載のデータ処理方法。
【請求項９】
前記第１のデータ処理装置が、前記第１のアプリケーションプログラムに規定したポートの利用を権限あるいは用途に応じて管理するためのデータを含む前記第１の管理データを保持し、
前記第２のデータ処理装置が、前記第２のアプリケーションプログラムに規定したポートの利用を権限あるいは用途に応じて管理するためのデータを含む前記第２の管理データを保持し、
前記第１のデータ処理装置が、前記第１のアプリケーションプログラムに規定したポートの利用を、前記第１の管理データで規定された権限あるいは用途に応じて管理し、
前記第２のデータ処理装置が、前記第２のアプリケーションプログラムに規定したポートの利用を、前記第２の管理データで規定された権限あるいは用途に応じて管理する
請求項１に記載のデータ処理方法。
【請求項１０】
前記第１のデータ処理装置が、利用しようとする前記データモジュールの種類を指定した要求を前記第２のデータ処理装置に送信し、
前記第２のデータ処理装置が、前記指定されたデータモジュールの種類に対応したデータモジュールを前記第１のデータ処理装置に送信する
請求項１に記載のデータ処理方法。
【請求項１１】
前記第２のデータ処理装置が、前記要求に係わるデータモジュールと共に、前記データ処理装置による当該データモジュールの一時的利用あるいは保存利用のいずれを許可するかを示すデータを前記第１のデータ処理装置に送信し、
前記第１のデータ処理装置が、当該データに基づいて、前記第２のデータ処理装置から受信したデータモジュールを一時利用あるいは保存利用する
請求項１に記載のデータ処理方法。
【請求項１２】
前記第１のデータ処理装置および前記第２のデータ処理装置は、前記サーバ装置を介して集積回路と通信を行い、所定のサービスを提供し、
前記データモジュールは、前記集積回路の記憶領域を操作するためのデータあるいは手順を示している
請求項１に記載のデータ処理方法。
【請求項１３】
前記第１のデータ処理装置と、前記第２のデータ処理装置との間で、前記データモジュールの転送用の複数の通信路を同時に設定する
請求項１に記載のデータ処理方法。
【請求項１４】
ネットワークにそれぞれ接続された第１および第２のサーバ装置と、
前記ネットワークを介して前記第１および第２のサーバ装置に接続され、メモリを有するＩＣカードあるいはＩＣモジュールと、
前記ネットワークを介さずにそれぞれ前記第１のサーバ装置および前記第２のサーバ装置に接続され、前記ＩＣカードあるいはＩＣモジュールのメモリに記憶されたデータにアクセスするための処理に必要な第１および第２のアプリケーションプログラムをそれぞれ実行する第１および第２のデータ処理装置と
を有し、
前記ＩＣカードあるいはＩＣモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理システムであって、
前記第１のデータ処理装置が、前記第２のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第１のアプリケーションプログラムが利用するデータモジュールを示す第１の管理データを保持し、前記第２のデータ処理装置が前記第１のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第２の管理データを保持する場合に、
前記第１のデータ処理装置と前記第２のデータ処理装置が、それぞれ前記第１の管理データと前記第２の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、
相互認証を行う場合は前記第１のデータ処理装置と前記第２のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第１のデータ処理装置が前記第１の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第２のデータ処理装置に送信し、
前記第２のデータ処理装置が、前記要求に応じて、前記第２の管理データを参照し、前記要求で指定されたデータモジュールを前記第１のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第１のデータ処理装置に送信し、
前記第１のデータ処理装置が、前記第２のデータ処理装置から取得したデータモジュールを含んだ前記第１のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、
ことを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、ＩＣなどの集積回路を用いたサービス提供に用いられるデータ処理方法とシステムに関する。
【背景技術】
【０００２】
現在、ＩＣカードを用いてインターネットなどのネットワークを介した取り引きを行う通信システムが開発されている。
このような通信システムでは、ＩＣカードを用いたサービスを提供するサービス提供者からの依頼を受けて当該サービス提供者が規定した手続き処理を実行するアプリケーションプログラムをサーバ装置が実行する。
サーバ装置は、例えばＩＣカードのリーダ・ライタやＰＣ(Personal Computer) から処理要求に応じて、上記アプリケーションプログラムに基づいて、ユーザ認証やデータの暗号化及び復号などの処理を行う。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上述したようなＩＣカードを用いたサービスは、ＳＡＭ(Secure Application Module) を用いて行われるが、複数のＳＡＭが連携して単体のＩＣカードを用いたサービスを提供する場合に、複数のＳＡＭ間で連携したサービスを迅速に提供したいという要請がある。
また、この場合に、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したＳＡＭ相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理したいという要請がある。
【０００４】
本発明はかかる事情に鑑みてなされたものであり、複数のＳＡＭ（データ処理装置）間で連携したサービスを迅速に提供することを可能にするデータ処理方法とデータ処理システムを提供することを目的とする。
また、本発明は、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したＳＡＭ（データ処理装置）相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理できるデータ処理方法とデータ処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明によれば、通信装置の通信機能を用いてネットワークを介して少なくとも第１のサーバ装置と第２のサーバ装置と通信を行うＩＣカードあるいはＩＣモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理方法であって、
前記メモリに記憶されたデータにアクセスするための処理に必要な第１および第２のアプリケーションプログラムをそれぞれ実行する第１および第２のデータ処理装置が、ネットワークを介さずにそれぞれ前記第１のサーバ装置および前記第２のサーバ装置に接続され、
前記第２のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第１のアプリケーションプログラムが利用するデータモジュールを示す第１の管理データを前記第１のデータ処理装置が保持し、前記第１のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第２の管理データを前記第２のデータ処理装置が保持する場合に、前記第１のデータ処理装置と前記第２のデータ処理装置が、それぞれ前記第１の管理データと前記第２の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、相互認証を行う場合は前記第１のデータ処理装置と前記第２のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第１のデータ処理装置が前記第１の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第２のデータ処理装置に送信し、前記第２のデータ処理装置が、前記要求に応じて、前記第２の管理データを参照し、前記要求で指定されたデータモジュールを前記第１のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第１のデータ処理装置に送信し、前記第１のデータ処理装置が、前記第２のデータ処理装置から取得したデータモジュールを含んだ前記第１のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、ことを特徴とするデータ処理方法が提供される。
【０００６】
また、本発明によれば、ネットワークにそれぞれ接続された第１および第２のサーバ装置と、前記ネットワークを介して前記第１および第２のサーバ装置に接続され、メモリを有するＩＣカードあるいはＩＣモジュールと、前記ネットワークを介さずにそれぞれ前記第１のサーバ装置および前記第２のサーバ装置に接続され、前記ＩＣカードあるいはＩＣモジュールのメモリに記憶されたデータにアクセスするための処理に必要な第１および第２のアプリケーションプログラムをそれぞれ実行する第１および第２のデータ処理装置とを有し、前記ＩＣカードあるいはＩＣモジュールのメモリに記憶されたデータを用いてサービスを提供するためのデータ処理を行うデータ処理システムであって、前記第１のデータ処理装置が、前記第２のアプリケーションプログラムを構成する複数のデータモジュールのうち前記第１のアプリケーションプログラムが利用するデータモジュールを示す第１の管理データを保持し、前記第２のデータ処理装置が前記第１のアプリケーションプログラムに利用させることを許可するデータモジュールを示す第２の管理データを保持する場合に、前記第１のデータ処理装置と前記第２のデータ処理装置が、それぞれ前記第１の管理データと前記第２の管理データに含まれる相互認証を行うか否かを指定する相互認証有無指示データを参照して相互認証を行うか否かを決定し、相互認証を行う場合は前記第１のデータ処理装置と前記第２のデータ処理装置との間で相互認証を行って互いの正当性を確認した後に、前記第１のデータ処理装置が前記第１の管理データを参照して利用しようとする前記データモジュールを指定した要求を前記第２のデータ処理装置に送信し、前記第２のデータ処理装置が、前記要求に応じて、前記第２の管理データを参照し、前記要求で指定されたデータモジュールを前記第１のアプリケーションプログラムが利用することを許可すると判断した場合、前記要求で指定されたデータモジュールを前記第１のデータ処理装置に送信し、前記第１のデータ処理装置が、前記第２のデータ処理装置から取得したデータモジュールを含んだ前記第１のアプリケーションプログラムを実行することにより、サービスの提供に必要なデータにアクセスしてデータ処理を行う、ことを特徴とするデータ処理システムが提供される。
【発明の効果】
【０００７】
本発明によれば、複数のデータ処理装置（たとえば、、ＳＡＭユニット）間で連携したサービスを迅速に提供することを可能にするデータ処理方法とデータ処理システムを提供することができる。
【０００８】
また、本発明によれば、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したデータ処理装置相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理できるデータ処理方法とデータ処理システムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明のデータ処理方法およびデータ処理システムの実施の形態を添付図面を参照して説明する。
図１は、本発明の本実施形態の通信システム１の全体構成図である。
図１に示すように、通信システム１は、店舗などに設置されたサーバ装置２、ＩＣカード３、カードリーダ・ライタ４、パーソナルコンピュータ５、ＡＳＰ(Application Service Provider)サーバ装置１９ａ、１９ｂ、ＳＡＭ(Secure Application Module) ユニット９ａ，９ｂ、ＩＣモジュール４２（本発明の集積回路）が内蔵された携帯通信装置４１を用いて、インターネット１０を介して通信を行ってＩＣカード３あるいは携帯通信装置４１を用いた決済処理などの手続き処理を行う。
ＳＡＭユニット９ａ（本発明の第１のデータ処理装置）は、外部メモリ７（本発明の記憶手段）およびＳＡＭモジュール８（本発明の処理手段）を有する。
また、ＳＡＭユニット９ｂ（本発明の第２のデータ処理装置）も、同様に、外部メモリ７およびＳＡＭモジュール８を有する。
ＳＡＭモジュール８は、必要に応じて、図示しない他のＳＡＭモジュールとデータの授受を行う。
【００１０】
〔通信システム１の特徴〕
本実施形態では、図１に示すＳＡＭユニット９ａが、ＳＡＭユニット９ｂの外部メモリ７に格納されたアプリケーションエレメントデータＡＰＥを利用する場合のＳＡＭユニット９ａとＳＡＭユニット９ｂとの間の通信に特徴を有している。
例えば、ＳＡＭユニット９ａ，９ｂを用いて異なるサービス事業者間でサービスを連携して運用するためには、ＩＣカード（ＩＣモジュール）操作に必要なカード用アクセス鍵、カード用発行鍵パッケージを秘密にした状態で他のサービス事業者に渡すことが必要となる。
【００１１】
例えば、異なるサービス事業者間で、ＩＣカード３との相互認証鍵を計算するためには、カード用アクセス鍵またはカード用縮退鍵などの鍵情報を入手する必要がある。
具体的には、ＳＡＭユニット９ａで金額決裁をＳＡＭユニット９ｂで商品購入を行い、しかもＩＣカードとの１回の相互認証期間中で双方の処理を完結させる場合には、ＳＡＭユニット９ａからＳＡＭユニット９ｂに金額決裁に必要な鍵情報を転送し、ＳＡＭユニット９ｂ側でＩＣカード３へのアクセスに必要な鍵を合成する必要がある。
この場合に、ＳＡＭユニット９ａとＳＡＭユニット９ｂとで個別にＩＣカード３にアクセスを行うことが可能だが、金額決裁と商品購入の双方の操作および処理について同時性を保証することが困難となる。例えば、ＳＡＭユニット９ａによる金額決裁が完了したが、ＳＡＭユニット９ｂによる商品の入手処理が完結しないなどの事態が生じる。
【００１２】
また、ＩＣカードの共有メモリ領域を借りて、独自にサービスを展開する事業者は、例えば共有メモリ領域の管理者（メモリ運用機構）から、ＩＣカード３上にサービスを登録するための鍵情報（エリア登録用鍵パッケージ等）を入手する必要がある。
また、ＩＣカード３内のメモリを論理的に分割して共有メモリ領域を生成するために必要なカード分割用鍵パッケージを、メモリ運用機構と共有領域提供者（例えばサービス事業者）間で授受する必要がある。
通信システム１は、上述したような複数の事業者によるサービスを連携して提供したり、鍵パッケージなどのアプリケーションエレメントデータＡＰＥを授受する際に、ＳＡＭユニット９ａとＳＡＭユニット９ｂなどのＳＡＭユニット相互間でセキュアな通信路を簡単に確立できる手法を提供する。
【００１３】
以下、図１に示す構成要素について説明する。
〔ＩＣカード３および携帯通信装置４１〕
図２は、ＩＣカード３の機能ブロック図である。
図２に示すように、ＩＣカード３は、メモリ５０およびＣＰＵ５１を備えたＩＣ(Integrated Circuit)モジュール３ａを有する。
メモリ５０は、図３に示すように、クレジットカード会社などのサービス事業者１５＿１が使用する記憶領域５５＿１、サービス事業者１５＿２が使用する記憶領域５５＿２、並びにサービス事業者１５＿３が使用する記憶領域５５＿３を有する。
また、メモリ５０は、記憶領域５５＿１へのアクセス権限を判断するために用いられる鍵データ、記憶領域５５＿２へのアクセス権限を判断するために用いられる鍵データ、並びに記憶領域５５＿３へのアクセス権限を判断するために用いられる鍵データを記憶している。当該鍵データは、相互認証や、データの暗号化および復号などに用いられる。
また、メモリ５０は、ＩＣカード３あるいはＩＣカード３のユーザの識別データを記憶している。
【００１４】
携帯通信装置４１は、携帯電話網およびインターネット１０を介してＡＳＰサーバ装置１９ａ、１９ｂと通信を行う通信処理部４３と、通信処理部４３との間でデータ授受可能なＩＣモジュール４２とを有し、アンテナからインターネット１０を介してＳＡＭユニット９ａと通信を行う。
ＩＣモジュール４２は、携帯通信装置４１の通信処理部４３とデータ授受を行う点を除いて、前述したＩＣカード３のＩＣモジュール３ａと同じ機能を有している。
なお、携帯通信装置４１を用いた処理は、ＩＣカード３を用いた処理と同様に行われ、ＩＣモジュール４２を用いた処理はＩＣモジュール３ａを用いた処理と同様に行われるため、以下の説明では、ＩＣカード３およびＩＣモジュール３ａを用いた処理について例示する。
【００１５】
以下、ＳＡＭユニット９ａ，９ｂについて詳細に説明する。
ＳＡＭユニット９ａ，９ｂは、前述したように、外部メモリ７（本発明の記憶手段）とＳＡＭモジュール８（本発明の処理手段）とを有する。
ここで、ＳＡＭモジュール８は、半導体回路として実現してもよいし、筐体内に複数の回路を収容した装置として実現してもよい。
【００１６】
〔ＳＡＭモジュール８のソフトウェア構成〕
ＳＡＭモジュール８は、図４に示すようなソフトウェア構成を有している。
図４に示すように、ＳＡＭモジュール８は、下層から上層に向けて、ハードウェアＨＷ層、周辺ＨＷに対応したＲＴＯＳカーネルなどを含めたドライバ層（ＯＳ層）、論理的にまとまった単位の処理を行う下位ハンドラ層、アプリケーション固有のライブラリなどをまとめた上位ハンドラ層およびＡＰ層を順に有している。
ここで、ＡＰ層では、図１に示すクレジットカード会社などのサービス事業者のパーソナル・ーソナルコンピュータ（ＰＣ）１５＿１，１５＿２，１５＿３によるＩＣカード３を用いた手続きを規定したアプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３（本発明のアプリケーションプログラム）が、外部メモリ７から読み出されて動作している。
各アプリケーションプログラムには、１つ以上のマクロ・スクリプトが設定可能である。
ＡＰ層では、アプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３相互間、並びに上位ハンドラ層との間にファイアウォールＦＷが設けられている。
【００１７】
〔外部メモリ７〕
図５は、外部メモリ７の記憶領域を説明するための図である。
図５に示すように、外部メモリ７の記憶領域には、パーソナル・ーソナルコンピュータ（ＰＣ）１６−１を有するサービス事業者１５＿１のアプリケーションプログラムＡＰ＿１が記憶されるＡＰ記憶領域２２０＿１、ＰＣ１６−２を有するサービス事業者の１５＿２のアプリケーションプログラムＡＰ＿２が記憶されるＡＰ記憶領域２２０＿２、ＰＣ１６−３を有するサービス事業者１５＿３のアプリケーションプログラムＡＰ＿３が記憶されるＡＰ記憶領域２２０＿３、並びにＳＡＭモジュール２０８の管理者が使用するＡＰ管理用記憶領域２２１がある。
ここで、ＳＡＭユニット９ａの外部メモリ７に記憶されるアプリケーションプログラムが本発明の第１のアプリケーションプログラムに対応し、ＳＡＭユニット９ｂの外部メモリ７に記憶されるアプリケーションプログラムが本発明の第２のアプリケーションプログラムに対応している。
【００１８】
ＡＰ記憶領域２２０＿１に記憶されているアプリケーションプログラムＡＰ＿１は、後述する複数のアプリケーションエレメントデータＡＰＥ（本発明のデータモジュール）によって構成されている。ＡＰ記憶領域２２０＿１へのアクセスは、ファイアウォールＦＷ＿１によって制限されている。
ＡＰ記憶領域２２０＿２に記憶されているアプリケーションプログラムＡＰ＿２は、複数のアプリケーションエレメントデータＡＰＥによって構成されている。ＡＰ記憶領域２２０＿２へのアクセスは、ファイアウォールＦＷ＿２によって制限されている。
ＡＰ記憶領域２２０＿３に記憶されているアプリケーションプログラムＡＰ＿３は、複数のアプリケーションエレメントデータＡＰＥによって構成されている。ＡＰ記憶領域２２０＿３へのアクセスは、ファイアウォールＦＷ＿３によって制限されている。
本実施形態では、上記アプリケーションエレメントデータＡＰＥは、例えば、ＳＡＭユニット９ａの外部から外部メモリ７にダウンロードされる最小単位である。各アプリケーションプログラムを構成するアプリケーションエレメントデータＡＰＥの数は、対応するサービス事業者が任意に決定できる。
【００１９】
また、外部メモリ７に記憶されたアプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３は、スクランブル（暗号化）されており、ＳＡＭモジュール８に読み込まれたときに、デスクランブル（解読）される。
また、アプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３は、例えば、それぞれ図１に示すパーソナルコンピュータ（ＰＣ）１６＿１，１６＿２，１６＿３を用いて、サービス事業者１５＿１，１５＿２，１５＿３によって作成され、ＳＡＭモジュール８を介して外部メモリ７にダウンロードされる。
【００２０】
以下、アプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３について詳細に説明する。
アプリケーションプログラムは、サービス事業者毎に、ＳＡＭユニット内に単数または複数個存在する。
【００２１】
先ず、図１に示すＳＡＭユニット９ａ（ＳＡＭ＿Ａ）の外部メモリ７に格納されたアプリケーションプログラムＡＰについて説明する。
図６は、図１に示すＳＡＭユニット９ａ（ＳＡＭ＿Ａ）の外部メモリ７に格納されたアプリケーションプログラムＡＰを説明するための図である。
図６に示すように、当該アプリケーションプログラムＡＰは、当該アプリケーションプログラムＡＰを識別するための識別データＡＰ＿ＩＤと、当該アプリケーションプログラム（あるいはそのパッケージ）のバージョン（世代情報）を示すデータＡＰＰ＿ＶＥＲと、当該アプリケーションプログラムに含まれるアプリケーションエレメントデータＡＰＥの数を示すデータＡＰＥ＿ＮＵＭと、当該アプリケーションプログラムを構成する単数または複数のアプリケーションエレメントデータＡＰＥの識別データＡＰＥ＿ＩＤと、タグデータＡＰＥ＿ＴＡＧと、利用許可データＰＴと、オプションデータＯＰＴと、アプリケーションエレメントデータＡＰＥの実体ＡＰＥ＿ＰＬとを有する。
なお、図６および図７に示すタグデータＡＰＥ＿ＴＡＧ、利用許可データＰＴおよびオプションデータＯＰＴが本発明の第１の管理データに対応している。
【００２２】
識別データＡＰ＿ＩＤは、サービス事業者毎に異なるように決められている。
また、タグデータＡＰＥ＿ＴＡＧは、サービス事業者が設定可能なアプリケーションエレメントデータＡＰＥの識別用タグであり、アプリケーションプログラムＡＰ内で一意に特定可能に決定される。
また、図６において、アプリケーションプログラムＡＰに格納された４つの識別データＡＰＥ＿ＩＤのうち、斜線で示した３つのＡＰＥ＿ＩＤに対応するアプリケーションエレメントデータＡＰＥの実体は、図１に示すＳＡＭユニット９ｂ（ＳＡＭ＿Ｂ）からＳＡＭユニット９ａ（ＳＡＭ＿Ａ）に後述するように転送される。
すなわち、これら３つのアプリケーションエレメントデータＡＰＥの実体は、ＳＡＭユニット９ａの外部メモリ７には存在しない。
【００２３】
図７（Ａ）は、図６に示す利用許可データＰＴを説明するための図である。
図７（Ａ）に示すように、利用許可データＰＴは、相互認証鍵数、相互認証の有無、ＳＡＭ＿Ａの相互認証鍵のインスタンス、ＳＡＭ＿Ａの相互認証鍵のアプリケーションエレメントデータＡＰＥ、ＳＡＭ＿Ｂの相互認証のインスタンス、ＳＡＭ＿Ｂの相互認証鍵のアプリケーションエレメントデータＡＰＥと、アクセス権限データＰＭＳＤとを有する。
ここで、図７（Ａ）で斜線を付した相互認証の有無と、ＳＡＭ＿Ｂの相互認証のインスタンスと、ＳＡＭ＿Ｂの相互認証鍵のアプリケーションエレメントデータＡＰＥとは、ＳＡＭユニット９ｂに存在し、ＳＡＭユニット９ｂから転送して取得される。
【００２４】
図７（Ｂ）は、図６に示すオプションデータＯＰＴを説明するための図である。
図７（Ｂ）に示すように、オプションデータＯＰＴは、ＳＡＭ＿ＢのＳＡＭ＿ＩＤと、ＳＡＭ＿Ｂに格納されたアプリケーションプログラムの識別データＡＰ＿ＩＤ（Ｂ）と、フラグデータＰＣＦとを格納している。
フラグデータＰＣＦは、アプリケーションエレメントデータＡＰＥがＳＡＭユニット９ａの外部および内部の何れに存在するかを示す第１のフラグと、当該アプリケーションプログラムのアプリケーションエレメントデータＡＰＥを外部に公開するか非公開にするかを示す第２のフラグと、外部に公開した場合にそれを一時的に利用させるかあるいは保存（永久利用）させるかを示す第３のフラグとを有する。
図７（Ｂ）に示す例では、第１のフラグは外部を示し、第２および第３のフラグは未設定になっている。
【００２５】
また、利用許可データＰＴあるいはオプションデータＯＰＴには、例えば、アプリケーションプログラムＡＰ内の各設定データを設定可能な主体の正当性を認証するためのデータが格納されており、ＳＡＭモジュール８ａは、当該データに基づいて、当該設定データの設置を許可するか否かを判断する。
また、本実施形態では、各アプリケーションプログラムが使用するポートが規定されており、当該アプリケーションプログラムに規定されたポートを利用する、権限や用途などが管理データとして規定されている。ＳＡＭユニット９ａ，９ｂは、当該管理データに基づいて、各アプリケーションプログラムに規定されたポートの利用形態を決定する。
【００２６】
次に、図１に示すＳＡＭユニット９ｂ（ＳＡＭ＿Ｂ）の外部メモリ７に格納されたアプリケーションプログラムＡＰについて説明する。
図８は、図１に示すＳＡＭユニット９ｂ（ＳＡＭ＿Ｂ）の外部メモリ７に格納されたアプリケーションプログラムＡＰを説明するための図である。
図８に示すように、当該アプリケーションプログラムＡＰは、当該アプリケーションプログラムＡＰを識別するための識別データＡＰ＿ＩＤと、当該アプリケーションプログラム（あるいはそのパッケージ）のバージョン（世代情報）を示すデータＡＰＰ＿ＶＥＲと、当該アプリケーションプログラムに含まれるアプリケーションエレメントデータＡＰＥの数を示すデータＡＰＥ＿ＮＵＭと、当該アプリケーションプログラムを構成する単数または複数のアプリケーションエレメントデータＡＰＥの識別データＡＰＥ＿ＩＤと、タグデータＡＰＥ＿ＴＡＧと、利用許可データＰＴと、オプションデータＯＰＴと、アプリケーションエレメントデータＡＰＥの実体ＡＰＥ＿ＰＬとを有する。
なお、図８および図９に示すタグデータＡＰＥ＿ＴＡＧ、利用許可データＰＴおよびオプションデータＯＰＴが本発明の第２の管理データに対応している。
【００２７】
また、図８において、アプリケーションプログラムＡＰに格納された４つの識別データＡＰＥ＿ＩＤのうち、括弧で示した３つのＡＰＥ＿ＩＤに対応するアプリケーションエレメントデータＡＰＥの実体は、図１に示すＳＡＭユニット９ａ（ＳＡＭ＿Ａ）から利用される。
これら３つのアプリケーションエレメントデータＡＰＥの実体は、ＳＡＭユニット９ｂの外部メモリ７には存在する。
【００２８】
図９（Ａ）は、図６に示す利用許可データＰＴを説明するための図である。
図９（Ａ）に示すように、利用許可データＰＴは、相互認証鍵数、相互認証の有無、ＳＡＭ＿Ｂの相互認証鍵のインスタンス、ＳＡＭ＿Ｂの相互認証鍵のアプリケーションエレメントデータＡＰＥ、ＳＡＭ＿Ａの相互認証のインスタンス、ＳＡＭ＿Ａの相互認証鍵のアプリケーションエレメントデータＡＰＥと、アクセス権限データＰＭＳＤとを有する。
ここで、図９（Ａ）で斜線を付した相互認証の有無と、ＳＡＭ＿Ａの相互認証のインスタンスと、ＳＡＭ＿Ａの相互認証鍵のアプリケーションエレメントデータＡＰＥとは、ＳＡＭユニット９ａから転送して取得される。
また、アクセス権限データＰＭＳＤは、当該アプリケーションプログラムＡＰに格納されたアプリケーションエレメントデータＡＰＥ毎に、当該ＡＰＥの外部からのアクセス（利用）を許可する形態（読み出し、書き込み、あるいは実行）を指定している。当該指定は、予め指定は、予め規定された権限を特定して行われてもよい。
【００２９】
図９（Ｂ）は、図８に示すオプションデータＯＰＴを説明するための図である。
図９（Ｂ）に示すように、オプションデータＯＰＴは、ＳＡＭ＿ＡのＳＡＭ＿ＩＤと、ＳＡＭ＿Ａに格納されたアプリケーションプログラムの識別データＡＰ＿ＩＤ（Ａ）と、フラグデータＰＣＦとを格納している。
フラグデータＰＣＦは、図９（Ｂ）の例では、第１のフラグは内部を示し、第２のフラグは公開を示し、第３のフラグは一時利用を示している。
【００３０】
なお、アプリケーションエレメントデータＡＰＥは、暗号化されたパッケージを各領域別に設定することで、外部メモリ７に格納される。
【００３１】
以下、アプリケーションエレメントデータＡＰＥの種別（ＡＰＥ＿ＴＹＰＥ）について説明する。
図１０は、アプリケーションエレメントデータＡＰＥの種別を説明するための図である。
図１０に示すように、アプリケーションエレメントデータＡＰＥの種別（ＡＰＥ＿ＴＹＰＥ）としては、ＡＰリソース鍵データＫ＿ＡＰＲ、カードアクセス鍵データ（ＩＣエリア鍵データ、ＩＣ縮退鍵データなど）、ファイルシステムコンフィグレーションデータ、ＳＡＭ相互認証用鍵データ、ＳＡＭ間鍵パッケージ鍵データ、ＩＣカード操作用マクロコマンドスクリプトプログラム、メモリ分割用鍵パッケージ、メモリ分割用素鍵パッケージ、拡張発行用鍵パッケージ、発行用鍵パッケージ、エリア登録鍵パッケージ、エリア削除用鍵パッケージ、サービス登録用鍵データ、サービス削除用鍵パッケージ、が、アプリケーションエレメントデータＡＰＥとして記憶されている。
【００３２】
以下、図１０に示すアプリケーションエレメントデータＡＰＥの種別のうち一部を詳細に説明する。
・ＡＰリソース鍵データＫ＿ＡＰＲ
ＡＰリソース鍵データＫ＿ＡＰＲは、アプリケーションエレメントデータＡＰＥを設定する際の暗号用鍵として使用され、ＡＰ領域毎に、アプリケーションエレメントデータＡＰＥを設定するために異なる鍵データＫ＿ＡＰＲが割り当てられている。
・カードアクセス鍵データ
カードアクセス鍵データは、ＩＣカード３およびＩＣモジュール４２のメモリ５０に対してのデータの読み書き操作に用いられる鍵データである。
カードアクセス鍵データには、例えば、ＩＣカードシステム鍵データ、ＩＣカードエリア鍵データ、ＩＣカードサービス鍵データおよびＩＣカード縮退鍵データなどがある。
ここで、ＩＣカード縮退鍵データは、ＩＣカードシステム鍵データと、メモリ５０の記憶領域管理用鍵データとを用いて暗号化して生成され、相互認証に用いられる鍵データである。
また、ＩＣカード操作用マクロコマンドスクリプトプログラムで参照される鍵データも、カードアクセス鍵データと同じ種別のアプリケーションエレメントデータＡＰＥに含まれる。
【００３３】
・ファイルシステムコンフィグレーションデータ
ファイルシステムコンフィグレーションデータとしては、例えば、ログデータ、ネガデータ、ジャーナルデータがある。
ログデータは例えばアプリケーションエレメントデータＡＰＥの利用履歴データであり、ネガデータは例えばＩＣカードの失効情報であり、ジャーナルデータは例えばＳＡＭでの実行履歴である。
例えば、ファイルシステムコンフィグレーションでは、ファイルアクセスの種別（レコードキー指定・ソート・リング）の選択を行い、レコードキーの場合であれば、レコードサイズ、レコード全体件数・レコード署名バージョン・レコード署名メソッドタイプ、レコードデータサイズ、レコード署名鍵を設定する。さらに、外部から本ファイルシステムにデータを書き込む際に署名検証を実施するかの有無の指定などを行う。ここでレコードとは、ファイルデータへの書き込み／読み出しの最小単位である。
【００３４】
・ＳＡＭ相互認証用鍵データ
同一ＳＡＭ内にあるＡＰ間相互認証にも使用される。
ＳＡＭ相互認証用鍵データとは、対応するアプリケーションエレメントデータＡＰＥを同一ＳＡＭ内の他のＡＰまたは他のＳＡＭからアクセスする際に用いられる鍵データである。
・ＳＡＭ間鍵パッケージ鍵
ＳＡＭ間鍵パッケージ鍵とは、ＳＡＭ間での相互認証後、カードアクセス鍵データなどのデータを交換する際に用いられる暗号化用鍵データである。
・ＩＣカード操作用マクロコマンドスクリプトプログラム
ＩＣカード操作用マクロコマンドスクリプトプログラムは、サービス事業者自身によって生成され、ＩＣカード３に係わる処理の順番やＡＳＰサーバ装置１９とのやり取りを記述している。ＩＣカード操作用マクロコマンドスクリプトプログラムは、ＳＡＭユニット９ａに設定された後に、ＳＡＭモジュール８内で解釈され、対応するＩＣカードエンティティデータが生成される。
【００３５】
・メモリ分割用鍵パッケージ
メモリ分割用鍵パッケージは、サービス事業者がＩＣカード３を用いたサービスの運用開始前に、外部メモリ７やＩＣカード３のメモリの記憶領域を分割するために使用するデータである。
・エリア登録鍵パッケージ
エリア登録鍵パッケージは、サービス事業者がＩＣカード３を用いたサービスの運用開始前に、ＩＣカード３のメモリの記憶領域にエリア登録を行う場合に使用するデータである。
・エリア削除用鍵パッケージ（内部生成）
エリア削除用鍵パッケージは、カードアクセス鍵データからＳＡＭ内部で自動生成が可能なパッケージである。
【００３６】
・サービス登録用鍵（内部生成）
サービス登録用鍵パッケージは、サービス事業者がＩＣカード３を用いたサービスの運用開始前に、外部メモリ７のアプリケーションエレメントデータＡＰＥを登録するために用いられる。
サービス登録用鍵パッケージは、カードアクセス鍵データからＳＡＭ内部で自動生成が可能なパッケージである。
・サービス削除用鍵パッケージ（内部生成）
サービス削除用鍵パッケージは、外部メモリ７に登録されているアプリケーションエレメントデータＡＰＥを削除するために用いられる。
サービス削除用鍵パッケージは、カードアクセス鍵データからＳＡＭ内部で自動生成が可能なパッケージである。
【００３７】
また、図５に示す外部メモリ７内のＡＰ管理用記憶領域２２１には、上述したアプリケーションプログラムＡＰ＿１〜ＡＰ＿３を管理するためのＡＰ管理用データが記憶されている。
ＡＰ管理用記憶領域２２１へのアクセスは、ファイアウォールＦＷ＿４によって制限されている。
【００３８】
〔ＳＡＭモジュール８〕
ＳＡＭモジュール８は、ＳＣＳＩまたはＥｔｈｅｒｎｅｔ（登録商標）などを介してＡＳＰサーバ装置１９ａ，１９ｂに接続される。ＡＳＰサーバ装置１９は、インターネット１０を介して、エンドユーザのパーソナルコンピュータ５、サービス事業者１５＿１，１５＿２，１５＿３のパーソナルコンピュータ１６＿１，１６＿２，１６＿３を含む複数の端末装置に接続される。
パーソナルコンピュータ５は、例えば、シリアルまたはＵＳＢを介してＤｕｍｂ型のカードリーダ・ライタ４に接続されている。カードリーダ・ライタ４が、ＩＣカード３（ＩＣモジュール４２）との間で物理レベルに相当する例えば無線通信を実現する。
ＩＣカード３（ＩＣモジュール４２）への操作コマンドおよびＩＣカード３（ＩＣモジュール４２）からのリスポンスパケットは、ＳＡＭユニット９ａ，９ｂ側で生成および解読される。よって、その中間に介在するカードリーダ・ライタ４、パーソナルコンピュータ５およびＡＳＰサーバ装置１９は、コマンドやリスポンス内容をデータペイロード部分に格納して中継する役割を果たすのみで、ＩＣカード３内のデータの暗号化や復号および認証などの実操作には関与しない。
【００３９】
パーソナルコンピュータ１６＿１，１６＿２，１６＿３は、後述するスクリプトプログラムをＳＡＭモジュール８にダウンロードすることで、それぞれアプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３をカスタマイズできる。
【００４０】
図１１は、図１に示すＳＡＭモジュール８の機能ブロック図である。
図１１に示すように、ＳＡＭモジュール８は、ＡＳＰＳ通信インタフェース部６０、外部メモリ通信インタフェース部６１、バススクランブル部６２、乱数発生部６３、暗号・復号部６４、メモリ６５およびＣＰＵ６６を有する。
ＳＡＭモジュール８は、耐タンパ性のモジュールである。
【００４１】
ＡＳＰＳ通信インタフェース部６０は、図１に示すＡＳＰサーバ装置１９ａ，１９ｂとの間のデータ入出力に用いられるインタフェースである。
外部メモリ通信インタフェース部６１は、外部メモリ７との間のデータ入出力に用いられるインタフェースである。
バススクランブル部６２は、外部メモリ通信インタフェース部６１を介してデータを入出力する際に、出力するデータをスクランブルし、入力したデータをデスクランブルする。
乱数発生部６３は、認証処理を行う際に用いられる乱数を発生する。
暗号・復号部６４は、データの暗号化、並びに暗号化されたデータの復号を行う。
メモリ６５は、後述するように、ＣＰＵ６６によって用いられるタスク、プログラム、並びにデータを記憶する。
ＣＰＵ６６は、ＩＣカード手続管理タスク（ジョブ管理用データ管理タスク）などのタスクを実行する。
ＣＰＵ６６は、ＳＡＭユニット９ａ，９ｂ内での操作コマンドに基づいてＳＡＭユニット９ａ，９ｂ内で規定された処理を行い、ＩＣカード３のＩＣモジュール３ａおよび携帯通信装置４１のＩＣモジュール４２の操作コマンドとに基づいて、ＩＣモジュール３ａおよびＩＣモジュール４２の処理を制御する。
ＳＡＭユニット９ａのＣＰＵ６６とＳＡＭユニット９ｂのＣＰＵ６６は、後述するように、ＳＡＭユニット９ａ，９ｂ間でのデータ授受（通信）を制御する。
【００４２】
〔ＳＡＭ間通信〕
以下、図１２に示すように、ＳＡＭユニット９ａと９ｂとの間で、アプリケーションエレメントデータＡＰＥの転送を行う場合の通信方法について説明する。
通信システム１では、前述したように、ＳＡＭユニット９ａとＳＡＭユニット９ｂとが連携してＩＣカード３およびＩＣモジュール４２を用いたサービスを提供する場合に、ＳＡＭユニット９ａと９ｂとの間で、アプリケーションエレメントデータＡＰＥの転送を行う。
この場合に、ＳＡＭユニット９ａ，９ｂの図１１に示すＡＳＰＳ通信インタフェース部６０を用いて、ＳＡＭユニット９ａと、サーバ装置１９ａと、サーバ装置１９ｂと、ＳＡＭユニット９ｂとの間で通信が行われる。
例えば、図１３に示すように、ＳＡＭユニット９ｂの外部メモリ７に格納されたアプリケーションプログラムＡＰ（Ｂ）内に縮退鍵データ（ＡＰＥ）の実体が格納され、ＳＡＭユニット９ａの外部メモリ７に格納されたアプリケーションプログラムＡＰ（Ａ）から、当該縮退鍵データを参照する場合に、ＳＡＭユニット９ｂが公開元となり、ＳＡＭユニット９ａが参照元となる。
そして、ＳＡＭユニット９ｂからＳＡＭユニット９ａに、当該縮退鍵データをのアプリケーションエレメントデータＡＰＥが転送される。
当該転送は、ＳＡＭユニット９ａおよび９ｂのアプリケーションプログラムＡＰ（Ａ），（Ｂ）内にあるオプションデータＯＰＴ、フラグデータＰＣＦ、並びにアクセス権限データＰＭＳＤの設定内容に基づいて、ＳＡＭユニット９ａから９ｂにＳＡＭ間エレメント転送コマンドを送信し、それに応じて、ＳＡＭユニット９ｂから９ａにＳＡＭ間エレメント転送レスポンスを送信して行われる。
【００４３】
図１４は、ＳＡＭ間エレメント転送コマンドＳＡＭＡＰＥＴＣを説明するための図である。
図１４に示すように、ＳＡＭ間エレメント転送コマンドＳＡＭＡＰＥＴＣは、自分（コマンドの転送元）のアプリケーションプログラムの識別データＡＰ＿ＩＤ、相手（コマンドの転送先）のアプリケーションプログラムの識別データＡＰ＿ＩＤ、転送先（相手側）の相互認証鍵のインスタンス番号、転送を要求するアプリケーションエレメントデータＡＰＥの数（エレメント属性数）、転送先との間で行う相互認証の管理ＩＤ（相互認証管理ＩＤ）、並びにアプリケーションエレメントデータＡＰＥの属性リスト（エレメント属性リスト）を有する。
ここで、エレメント属性リストは、アプリケーションエレメントデータＡＰＥの種別（ＡＰＥ＿ＴＹＰＥ）と、エレメント属性とを有する。
当該エレメント属性は、図１５に示すように、転送を要求するアプリケーションエレメントデータＡＰＥの種別（ＡＰＥ＿ＴＹＥＰ）により、設定する項目が異なる。
例えば、図１５に示すように、転送するアプリケーションエレメントデータＡＰＥがエリア・サービス鍵データの場合には、システムコード、エリア／サービスコード、エレメントバージョンをエレメント属性として設定する。
【００４４】
図１６は、ＳＡＭ間エレメント転送レスポンスＳＡＭＡＰＥＴＲを説明するための図である。
図１６に示すように、ＳＡＭ間エレメント転送レスポンスＳＡＭＡＰＥＴＲは、自分（レスポンスの転送元）のアプリケーションプログラムの識別データＡＰ＿ＩＤ、相手（レスポンスの転送先）のアプリケーションプログラムの識別データＡＰ＿ＩＤ、転送先（相手側）の相互認証鍵のインスタンス番号、転送するアプリケーションエレメントデータＡＰＥの数（エレメント属性数）、レスポンスの転送先との間で行う相互認証の管理ＩＤ（相互認証管理ＩＤ）、フラグデータＰＣＦ、並びにエレメントリストを有する。
ここで、エレメントリストは、アプリケーションエレメントデータＡＰＥの種別（ＡＰＥ＿ＴＹＰＥ）と、エレメント属性サイズと、エレメント属性と、アプリケーションエレメントデータＡＰＥの実体とをを有する。
当該エレメント属性は、図１５に示すように、返却するアプリケーションエレメントデータＡＰＥの種別（ＡＰＥ＿ＴＹＥＰ）により、設定する項目が異なる。
例えば、図１５に示すように、返却するアプリケーションエレメントデータＡＰＥがエリア・サービス鍵データの場合には、エリア鍵データとサービス鍵データとをエレメント属性として設定する。
【００４５】
上述したＳＡＭ間エレメント転送コマンド／レスポンスを用いた、ＳＡＭユニット９ａと９ｂとの間の転送は、ＳＡＭユニット９ａと９ｂとの間で相互認証を行った後に行われる。
【００４６】
図１７は、ＳＡＭユニット９ａと９ｂとの間の相互認証の手順を説明するための図である。
ステップＳＴ２０１：
参照元のＳＡＭユニット９ａのＳＡＭモジュール８のＣＰＵ６６が、ＳＡＭユニット９ｂのＳＡＭ＿ＩＤ、参照を行うアプリケーションプログラムＡＰのＡＰ＿ＩＤ、使用するアプリケーションプログラムＡＰのポートＩＤ、ＳＡＭユニット９の相互認証鍵のアプリケーションエレメントデータＡＰＥのＡＰＥ＿ＩＤ、暗号方式、ＳＡＭユニット９ａが生成した乱数値ＲＡとを、ＳＡＭユニット９ｂの相互認証鍵データＡＫ＿Ｂを用いて暗号化して格納した認証コマンドＡＵＴＨ＿Ｃ１を生成する。ＣＰＵ６６は、認証コマンドＡＵＴＨ＿Ｃ１を、サーバ装置１９ａ，１９ｂを介してＳＡＭユニット９ｂに送信する。
【００４７】
ステップＳＴ２０２：
アプリケーションエレメントデータＡＰＥの提供側であるＳＡＭユニット９ｂのＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ２０１で受信した認証コマンドＡＵＴＨ＿Ｃ１を、相互認証鍵データＡＫ＿Ｂを用いて復号し、当該復号によって得たデータと、ＳＡＭユニット９ｂが生成した乱数値ＲＢとを、ＳＡＭユニット９ａの相互認証鍵データＡＫ＿Ａを用いて暗号化して格納した認証レスポンスＡＵＴＨ＿Ｒ１を生成する。ＣＰＵ６６は、認証レスポンスＡＵＴＨ＿Ｒ１を、サーバ装置１９ｂ，１９ａを介してＳＡＭユニット９ａに送信する。
【００４８】
ステップＳＴ２０３：
ＳＡＭユニット９ａのＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ２０２で受信した認証レスポンスＡＵＴＨ＿Ｒ１を、相互認証鍵データＡＫ＿Ａを用いて復号し、当該復号によって得た乱数値ＲＡと、ステップＳＴ２０１で生成した乱数値ＲＡとが一致しているか否かを判断し、一致していると判断した場合に、乱数値ＲＢを相互認証鍵データＡＫ＿Ｂを用いて暗号化して格納した認証コマンドＡＵＴＨ＿Ｃ２を生成する。ＣＰＵ６６は、認証コマンドＡＵＴＨ＿Ｃ２を、サーバ装置１９ａ，１９ｂを介してＳＡＭユニット９ｂに送信する。
【００４９】
ステップＳＴ２０４：
ＳＡＭユニット９ｂのＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ２０３で受信した認証コマンドＡＵＴＨ＿Ｃ２を、相互認証鍵データＡＫ＿Ｂを用いて復号し、当該復号によって得た乱数値ＲＢと、ステップＳＴ２０２で生成した乱数値ＲＢとが一致しているか否かを判断し、一致していると判断した場合に、相互認証管理ＩＤを格納し、認証レスポンスＡＵＴＨ＿Ｒ２を生成する。ＣＰＵ６６は、認証レスポンスＡＵＴＨ＿Ｒ２を、サーバ装置１９ｂ，１９ａを介してＳＡＭユニット９ａに送信する。
これにより、ＳＡＭユニット９ａと９ｂとの間の相互認証が完了する。
【００５０】
なお、ＳＡＭユニット９ａと９ｂとの間で既に相互認証が終了してセッションが確立されている場合には、ステップＳＴ２０１の認証コマンドＡＵＴＨ＿Ｃ１の送信に続いて、ステップＳＴ２０２，ＳＴ２０３を省略して、ステップＳＴ２０４の認証レスポンスＡＵＴＨ＿Ｒ２の送信を行ってもよい。
すなわち、ＳＡＭユニット９ａ，９ｂでは、相互認証鍵データを単位として相互認証の管理を行い、既に確立したセッションであれば、相互認証手続きを省略できる。ここで、要求された処理について、対応する相互認証鍵データを用いた既にセッションが確立されているか否かの判断は、要求先（図１７の場合にはＳＡＭユニット９ｂ）において行われる。
【００５１】
以下、図１３を用いて前述したＳＡＭユニット９ａと９ｂとの間の縮退鍵データの転送の動作例を説明する。
図１８は、当該動作例を説明するための図である。
ステップＳＴ２２１：
サーバ装置１９ｂが、ＳＡＭユニット９ｂに、縮退鍵データが既に設定（更新）されているか否かを確認する。
ステップＳＴ２２２：
サーバ装置１９ｂが、サーバ装置１９ａに、縮退鍵データがＳＡＭユニット９ｂに既に設定されていることを通知する。すなわち、転送対象となるアプリケーションエレメントデータＡＰＥが、既にＳＡＭユニット９ｂに準備できていることを参照元に通知する。
ステップＳＴ２２３：
サーバ装置１９ａが、ＳＡＭユニット９ａのＣＰＵ６６の内部状態（モード）を、ＳＡＭ間連携が可能なモードに変更する。
ステップＳＴ２２４：
サーバ装置１９ａが、ＳＡＭユニット９ａに、ＩＣカード３（ＩＣモジュール４２）を用いた処理を依頼する。
ステップＳＴ２２５：
ＳＡＭユニット９ａのＣＰＵ６６は、当該依頼に基づいて処理を行い、その処理中に,
ＳＡＭユニット９ｂに存在するアプリケーションエレメントデータＡＰＥである縮退鍵データが必要となり、かつ、当該縮退鍵がＳＡＭユニット９ａに存在していない場合に、ＳＡＭユニット９ｂとの間で図１７を用いて説明した相互認証を行い、セッションを確立する。
【００５２】
ステップＳＴ２２６：
ＳＡＭユニット９ａのＣＰＵ６６は、ＳＡＭユニット９ｂに縮退鍵データの転送要求（図１４に示すＳＡＭＡＰＥＴＣ）を送信する。
ステップＳＴ２２７：
ＳＡＭユニット９ｂのＣＰＵ６６は、当該転送要求に応じて、指定された縮退鍵データのアプリケーションエレメントデータＡＰＥを格納した図１６に示すＳＡＭ間エレメント転送レスポンス（ＳＡＭＡＰＥＴＲ）を生成し、これをＳＡＭユニット９ａに送信する。
ステップＳＴ２２８：
ＳＡＭユニット９ａのＣＰＵ６６は、ステップＳＴ２２５で確立したセッションを遮断し、受信したＳＡＭ間エレメント転送レスポンスに格納された縮退鍵データを用いてＩＣカード３（ＩＣモジュール４２）に係わる処理を行う。
【００５３】
次に、図１０に示すメモリ分割用鍵パッケージの生成および分割操作を、ＳＡＭユニット９ａと９ｂとの間の通信で実現する例を説明する
本例では、例えば、ＩＣカード３およびＩＣモジュール４２のメモリの記憶領域の貸し出しなどの運用を行うメモリ運用者がＳＡＭユニット９ｂを使用し、メモリ領域提供者がＳＡＭユニット９ａを使用する。
ここで、メモリ分割用パッケージはメモリ分割用素パッケージを素にして生成される。
メモリ分割用素パッケージは運用者側のＳＡＭユニット９ａで生成され、メモリ分割用パッケージはメモリ領域提供者側のＳＡＭユニット９ｂで生成される。
従って、ＳＡＭユニット９ｂが、メモリ分割用パッケージを生成する場合に、ＳＡＭ間通信により，ＳＡＭユニット９ａからメモリ分割用素パッケージを取得する必要がある。
図１９は、メモリ分割用パッケージの生成および転送処理を説明するための図である。
ステップＳＴ２４１：
メモリ運用者のサーバ装置１９ａが、ＳＡＭユニット９ａに、メモリ分割用素パッケージの生成コマンドを発行する。
ＳＡＭユニット９ａは、当該コマンドに応じて、メモリ分割用素パッケージを生成する。
ステップＳＴ２４２：
サーバ装置１９ａが、サーバ装置１９ｂに、メモリ分割用素パッケージがＳＡＭユニット９ａにおいて生成されたことを通知する。
ステップＳＴ２４３：
サーバ装置１９ｂが、ＳＡＭユニット９ｂに、メモリ分割用パケットデータの生成コマンドを発行する。
【００５４】
ステップＳＴ２４４：
ＳＡＭユニット９ｂと９ａとの間で、図１７を用いて説明した相互認証処理を行った後に、ＳＡＭユニット９ｂが、メモリ分割素パケットデータを指定した図１４に示すフォーマットのＳＡＭ間エレメント転送コマンドをＳＡＭユニット９ａに送信する。
ステップＳＴ２４５：
ＳＡＭユニット９ａが、ＳＡＭ間エレメント転送コマンドに応じて、ステップＳＴ２４１で生成したメモリ分割用素パッケージを格納した図１６に示すＳＡＭ間エレメント転送レスポンスをＳＡＭユニット９ｂに送信する。
ＳＡＭユニット９ｂが、受信したメモリ分割用素パッケージを用いて、メモリ分割用パッケージを生成する。
ステップＳＴ２４６：
ＳＡＭユニット９ｂが、メモリ分割用パッケージが生成されたことをサーバ装置１９ｂに通知する。
ステップＳＴ２４７：
サーバ装置１９ｂが、メモリ分割用パッケージが生成されたことをサーバ装置１９ａに通知する。
【００５５】
ステップＳＴ２４８：
サーバ装置１９ａが、ＩＣカード３およびＩＣモジュール４２のメモリを分割することを指示するメモリ分割コマンドをサーバ装置１９ａに発行する。
ステップＳＴ２４９：
ＳＡＭユニット９ｂと９ａとの間で、図１７を用いて説明した相互認証処理を行った後に、ＳＡＭユニット９ａが、メモリ分割パケットデータを指定した図１４に示すフォーマットのＳＡＭ間エレメント転送コマンドをＳＡＭユニット９ｂに送信する。
ステップＳＴ２５０：
ＳＡＭユニット９ｂが、ＳＡＭ間エレメント転送コマンドに応じて、ステップＳＴ２４５で生成したメモリ分割用パッケージを格納した図１６に示すＳＡＭ間エレメント転送レスポンスをＳＡＭユニット９ａに送信する。
ステップＳＴ２５１：
ＳＡＭユニット９ｂが、受信したメモリ分割用パッケージを用いて、例えば、サーバ装置１９ｂおよびインターネット１０を介して、携帯通信装置４１に格納されたＩＣモジュール４２にアクセスを行い、ＩＣモジュール４２のメモリの記憶領域を分割して所定のサービス事業者に使用させる。
【００５６】
なお、上述したＳＡＭユニット９ａと９ｂとの間の通信は、アプリケーションエレメントデータＡＰＥを転送する通信路を複数同時に設定して行ってもよい。
【００５７】
以下、上述したメモリ分割用パッケージ（ＡＰＥ）に対しての図８に示すタグデータＡＰＥ＿ＴＡＧの設定方法について説明する。
ＩＣカード３およびＩＣモジュール４２のメモリ内の記憶領域を多分割する場合には、タグデータＡＰＥ＿ＴＡＧとして、分割したメモリ領域の利用が想定される名前を設定する。  具体的には、図２０に示すように、ＩＣカード３のＩＣモジュール３ａあるいはＩＣモジュール４２のメモリ５０の記憶領域（プライベート）内を、サービス事業者Ｂが使用する領域（Ｐｒｉｖａｔｅ  Ｂ）と、他のサービス事業者Ａが使用する領域（Ｐｕｂｌｉｃ  Ａ）に分割した後に、領域（Ｐｒｉｖａｔｅ  Ｂ）を、サービス事業者Ｂ１が使用する領域（Ｐｒｉｖａｔｅ  Ｂ１）と、サービス事業者Ｂ２が使用する領域（Ｐｒｉｖａｔｅ  Ｂ２）とに分割して使用する場合がある。
この場合に、Ｐｕｂｌｉｃ領域であればタグ名を“Ｐｕｂｌｉｃ”を使用し、Ｐｒｉｖａｔｅ領域であれば、“ＰｒｉｖａｔｅＢ１”、“ＰｒｉｖａｔｅＢ２”にする。
この場合に、ＳＡＭユニット９ａ，９ｂを管理する運用者側で、上述したタグデータＡＰＥ＿ＴＡＧと、メモリ分割用パッケージの内容についての合意がとれれば、タグデータＡＰＥ＿ＴＡＧを指定したメモリ分割操作が実現可能である。
【００５８】
多分割を想定したメモリ分割用パッケージのタグデータＡＰＥ＿ＴＡＧの命名規則として、発行用パッケージまたはメモリ分割用パッケージまたはその他のパッケージの種別、メモリ分割エリア名、エリアコードまたはサービスコードを連結した文字列を使用する。
図２０に示す場合でのパッケージのエレメントタグ命令例を下記に列挙する。
メモリ分割領域Ｂ２のメモリ分割用パッケージのタグデータＡＰＥ＿ＴＡＧとして "Ｄ：\\ＰｒｉｖａｔｅＢ２" を使用し、メモリ分割領域Ｂ1 の発行用パッケージのタグデータＡＰＥ＿ＴＡＧとして "Ｉ:\\ ＰｒｉｖａｔｅＢ１“を使用し、Ｐｕｂｌｉｃ領域のサービス「１００Ｃ」のタグデータＡＰＥ＿ＴＡＧとして“Ｓ：\\Ｐｕｂｌｉｃ￥１００Ｃ”を使用する。
【００５９】
以下、図１に示す通信システム１の全体動作について説明する。
図２１および図２２は、図１に示す通信システム１の全体動作を説明するための図である。
【００６０】
ステップＳＴ２１：
サービス事業者１５＿１〜１５＿３あるいはこれらサービス事業者の依頼を受けた者が、当該サービス事業者がＩＣカード３を用いて行う取り引きについての処理を記述したスクリプトプログラムを、例えば、図１に示すパーソナルコンピュータ１６＿１，１６＿２，１６＿３上で作成する。
また、ＳＡＭモジュール８の管理者が、サービス事業者１５＿１〜１５＿３のそれぞれに対応するＡＰ管理用データを作成する。
【００６１】
ステップＳＴ２２：
ＡＰ管理用データが外部メモリ７に記憶される。
また、ステップＳＴ２１で作成されたスクリプトプログラムが、パーソナルコンピュータ１６＿１，１６＿２，１６＿３から、インターネット１０、ＡＳＰサーバ装置１９ａ，１９ｂおよびＳＡＭモジュール８を介して、ＳＡＭユニット９ａ，９ｂの外部メモリ７にダウンロードされる。当該ダウンロードの処理は、図１３に示すように、ＳＡＭモジュール８内のスクリプトダウンロードタスクによって管理される。
【００６２】
ステップＳＴ２３：
ＳＡＭモジュール８内のスクリプト解釈タスクによって、各サービス事業者毎に、ＡＰ管理用テータおよびスクリプトプログラムを用いて、ＩＣカードエンティティテンプレートデータ、入力用データブロック、出力用データブロック、ログ用データブロックおよび演算定義用データブロックが生成される。
これら生成されたデータは、図１１に示すＳＡＭモジュール８のメモリ６５に格納される。
【００６３】
ステップＳＴ２４：
ユーザにＩＣカード３（ＩＣモジュール４２）が発行される。
図３に示すＩＣモジュール３ａおよびＩＣモジュール４２のメモリ５０には、ユーザが契約を行ったサービス事業者との取り引きに用いられる鍵データが記憶されている。
なお、ユーザとサービス事業者との間の契約は、ＩＣカード３の発行後に、インターネット１０などを介して行ってもよい。
【００６４】
ステップＳＴ２５：
例えば、ユーザがパーソナルコンピュータ５を用いてインターネット１０を介してサーバ装置２にアクセスを行い、商品を購入しようとした場合に、サーバ装置２がインターネット１０を介してＡＳＰサーバ装置１９ａ，１９ｂに処理要求を出す。
ＡＳＰサーバ装置１９ａ，１９ｂは、サーバ装置２から処理要求を受けると、インターネット１０を介してパーソナルコンピュータ５にアクセスを行う。そして、カードリーダ・ライタ４が出したＩＣカード３についての処理要求が、パーソナルコンピュータ５、インターネット１０およびＡＳＰサーバ装置１９ａ，１９ｂを介してＳＡＭユニット９ａ，９ｂのＳＡＭモジュール８に送信される。
【００６５】
ステップＳＴ２６：
ＡＳＰサーバ装置１９ａ，１９ｂからＳＡＭモジュール８にエンティティ作成要求が出される。当該エンティティ作成要求には、ＩＣカード３の発行元を示すデータが格納されている。
【００６６】
ステップＳＴ２７：
ＳＡＭモジュール８は、エンティティ作成要求を受けると、ＩＣカード３との間でポーリングを行う。
【００６７】
ステップＳＴ２８：
ＳＡＭモジュール８のエンティティ生成タスク７１は、ポーリング終了後に、ＳＡＭモジュール８内に存在するＩＣカードエンティティデータの数が、スクリプトプログラムのＳＣコマンドによって規定された最大数以内であるか否かを判断し、最大数以内であればステップＳＴ２９の処理に進み、そうでない場合には処理を終了する。
【００６８】
ステップＳＴ２９：
エンティティ生成タスクが、例えば、エンティティ作成要求に格納されたＩＣカード３の発行元を示すデータに基づいて、何れのサービス事業者のＩＣカードエンティティテンプレートデータを用いるかを特定し、当該特定したＩＣカードエンティティプレートデータ用いて、ＩＣカードエンティティデータを生成する。
【００６９】
ステップＳＴ３０：
ＳＡＭモジュール８からＡＳＰサーバ装置１９ａ，１９ｂに、ステップＳＴ２９で生成したＩＣカードエンティティデータのエンティティＩＤが出力される。
【００７０】
ステップＳＴ３１：
ＳＡＭモジュール８のＩＣカード手続管理用タスクによって、ＩＣカード３で利用可能なサービスが調べられる。
【００７１】
ステップＳＴ３２：
ＳＡＭモジュール８のＩＣカード手続管理用タスクがＩＣカード３の正当性を認証する。
【００７２】
ステップＳＴ３３：
ＩＣカード３がＳＡＭモジュール８の正当性を認証する。
ステップＳＴ３２，ＳＴ３３によって、ＩＣカード３とＳＡＭモジュール８との間の相互認証が行われる。
このとき、前述したように、ＳＡＭモジュール８で実行されているアプリケーションエレメントデータＡＰＥに応じて、ＡＰ管理用データが参照されて、カードアクセス鍵が取得され、当該鍵を用いてＳＡＭモジュール８とＩＣカード３のＣＰＵ５１との間で相互認証が行われる。
【００７３】
ステップＳＴ３４：
ＳＡＭモジュール８のＩＣカード手続管理用タスクが、ＩＣカード３との間で、手続きに必要なデータの読み書きを行う。
また、ＩＣカード手続管理用タスク７２は、ＩＣカードエンティティデータに基づいて特定した演算式を用いて、ＩＣカード３から読み出したデータを用いて所定の演算処理を行う。
【００７４】
ステップＳＴ３５：
ＳＡＭモジュール８のＩＣカード手続管理用タスクが、ステップＳＴ３４の処理結果をＡＳＰサーバ装置１９ａ，１９ｂに出力する。
【００７５】
ステップＳＴ３６：
例えば、ＳＡＭモジュール８のＩＣカード手続管理用タスクが、ＩＣカードエンティティデータを消去する。
【００７６】
以上説明したように、通信システム１およびＳＡＭユニット９ａ，９ｂによれば、ＳＡＭ間通信により、カード用アクセス鍵や鍵発行パッケージ等のアプリケーションエレメントデータＡＰＥを秘匿した状態で授受可能となる。
また、ＳＡＭ間通信を行うための設定として、アプリケーションエレメントデータＡＰＥの他のＳＡＭへの公開範囲を規定できるため、公開側ＳＡＭ側でアプリケーションエレメントデータＡＰＥの他からのアクセス範囲を規定できる。
また、通信システム１およびＳＡＭユニット９ａ，９ｂによれば、ＳＡＭ間通信を行うための設定として、アプリケーションエレメントデータＡＰＥへのアクセス属性が規定できるため、公開側ＳＡＭ側で当該アプリケーションエレメントデータＡＰＥへの書込み権、読込み権、実行権を個別に設定することが可能である。
【００７７】
また、通信システム１およびＳＡＭユニット９ａ，９ｂによれば、ＳＡＭ間通信を行うための設定として、アプリケーションエレメントデータＡＰＥの公開範囲およびアクセス属性を設定できる権限を規定できるため、当該設定が不正に行われることを防止できる。
また、通信システム１およびＳＡＭユニット９ａ，９ｂによれば、ＳＡＭ間通信を行うための設定として、アプリケーションエレメントデータＡＰＥの公開範囲を相互認証鍵データ単位に設定するため、アプリケーションエレメントデータＡＰＥを公開することに伴う相互認証処理の負担を軽減できる。
【００７８】
また、通信システム１およびＳＡＭユニット９ａ，９ｂによれば、ＳＡＭ間の相互認証において、同一の相互認証鍵かつ相互認証範囲である場合には、相互認証の処理を一部省略可能するため、相互認証に伴う通信コストの低減とＳＡＭ内の処理を軽減することが可能となる。
また、通信システム１およびＳＡＭユニット９ａ，９ｂによれば、ＳＡＭ間通信における、転送用のアプリケーションエレメントデータＡＰＥの指定にタグデータＡＰＥ＿ＴＡＧを使用することで、サービス事業者やメモリ運用者による多様なメモリ管理が可能となる。
また、通信システム１およびＳＡＭユニット９ａ，９ｂによれば、ＳＡＭ間通信において、転送用のアプリケーションエレメントデータＡＰＥの種別とその内容を拡張して、カード処理に関わるログ等を転送することにより、相手先のＳＡＭに処理の開始・終了などを通知することが可能となる。
【００７９】
また、通信システム１およびＳＡＭユニット９ａによれば、アプリケーションプログラムＡＰを複数のアプリケーションエレメントデータＡＰＥを用いて構成し、ＡＰ管理用テーブルデータおよびＡＰＰテーブルデータを用いて、各アプリケーションエレメントデータＡＰＥの処理内容を規定することで、ＩＣカード３を用いた多様なサービスを提供できる。
また、通信システム１によれば、ＡＰ管理用テーブルデータおよびＡＰＰテーブルデータを用いて、同一ＳＡＭ内でのアプリケーションエレメントデータＡＰＥの利用、並びに異なるＳＡＭ間でのアプリケーションエレメントデータＡＰＥの利用を高いセキュリティを保ちながら柔軟に実現できる。
また、通信システム１によれば、異なるＳＡＭ間でアプリケーションエレメントデータＡＰＥを利用する場合に、ＳＡＭ間で相互認証を行うため、アプリケーションプログラムのセキュリティを高めることができる。
【００８０】
〔その他の実施形態〕
図２３は、本発明のその他の実施形態を説明するための図である。
図２３に示すように、ＩＣカード（ＩＣモジュール）５１０内には、ＩＣモジュール３ａあるいはＩＣモジュール４２を用いて所定のサービスを提供するサービス事業者Ａが取り扱うデータＡ、サービス事業者Ｂが取り扱うデータＢの２つのデータ領域が存在する。
それぞれに、リーダ・ライタ５１１によってＩＣカード５１０内をアクセスする際に必要となる鍵データＡ、鍵データＢが設定される。
リーダ・ライタ５１１（Ａ）は、サービス事業者Ａが所持するもので、リーダ・ライタ５１３（Ｂ）は、サービス事業者Ｂが所持するものである。
サービス事業者Ａが所持するリーダ・ライタ５１１には、ＩＣカード５１０内のデータＡのアクセスを可能とするサービス事業者Ａが生成した鍵Ａが保持され、サービス事業者Ｂが所持するリーダ・ライタＢには、ＩＣカード内のデータＢのアクセスを可能とするサービス事業者Ｂが生成した鍵データＢが保持される。
鍵データの設定は、制御部５１２を利用して事前に行うものとする。制御部５１２から鍵データ設定を意味する指令を発すると、リーダ・ライタ５１１はその鍵データを保持する。
【００８１】
図２３では、制御部５１２は一つしかなく、リーダ・ライタ５１１に接続されているが、リーダ・ライタ５１３も事前にサービス事業者Ｂが制御部５１２により鍵データを設定しているものとする。これによって、サービス事業者Ａが生成した鍵データＡはサービス事業者Ｂには知られず、逆に、サービス事業者Ｂが生成した鍵データＢはサービス事業者Ａには知られない。
制御部５１２は、制御通信経路を介してリーダ・ライタ５１１に接続されており、制御部５１２からリーダ・ライタ５１１に対して、ＩＣカード５１０内のデータをアクセスするための指令を送信する。
当該指令は、ＩＣカード５１０内のメモリの指定領域の読み出しや、指定領域への指定データの書き込み等からなる。読み出しの場合、読み出したデータを、通信経路を介して制御へ返送する。書き込みの場合、成否を、通信経路を介して制御部５１２へ返送する。
【００８２】
例えば、データＡ及びデータＢを格納したＩＣカード５１０がリーダ・ライタ５１１とＩＣカード通信経路を介して接続されたとする。尚、ＩＣカード通信経路は、有線、無線、光等、何らかの情報交換が出来る手段であれば何を使用してもよい。ここで、制御部がリーダ・ライタ５１１へ、制御通信経路を介して、ＩＣカード５１０内のデータＡを読み出して、データＡをデータＢに書き込む指令を発したとする。
このとき、リーダ・ライタ５１１は上述したように、ＩＣカード５１０内のデータＡ及びデータＢの両方をアクセスする必要が生じる。リーダ・ライタ５１１は、データＡをアクセス可能な鍵データＡしか保持していないので、連携部ＡにデータＢのアクセスが可能な鍵データＢの取得要求を発する。
連携部Ａは、リーダ・ライタ通信経路を介してリーダ・ライタ５１３内の連携部Ｂと接続し、上記取得要求を連携部Ｂへ伝達する。尚、リーダ・ライタ通信経路は、上述のＩＣカード通信経路同様、有線、無線、光等、何らかの情報交換が出来る手段であれば何を使用してもよい。リーダ・ライタ通信経路を流れる情報は、連携部Ａ及び連携部Ｂが保持する鍵データＣによって暗号化され、どのような情報が行き交っているか分からないようになっている。取得要求を受信したリーダ・ライタＢ内の連携部Ｂは、ＩＣカード５１０内のデータＢのアクセスが可能となる鍵データＢを、鍵データＣによって暗号化されたリーダ・ライタ通信経路を介してリーダ・ライタ５１１内の連携部Ａへ返送する。以上の動作によって、リーダ・ライタ５１１は、ＩＣカード５１０内のデータＡをアクセスするために必要な鍵データＡ及びデータＢをアクセスするために必要な鍵データＢの双方を入手することができる。
これにより、ＩＣカード５１０内のデータＡを読み出し、データＡをデータＢの領域へ書き込むことが可能となる。
【００８３】
リーダ・ライタ５１１および５１３は、様々な鍵データ情報を保持するため、容易に解析が行えない構成になっている。図２４にリーダ・ライタ５１１，５１３の構成の一例を示す。
ＣＰＵ５３２は全体の制御を司る演算制御部である。メモリ部５３３は、ＣＰＵ５３２の演算制御手順が記録されているプログラム部５４１と、ＣＰＵ５３２による演算制御結果等を保持するデータ部５４２に分かれる。
暗号部５３４は、ＣＰＵ５３２から与えられた鍵データを利用して、ＣＰＵ５３２から与えられたデータの暗号化または複号化を行う。
ＣＰＵ５３２、メモリ部５３３および暗号部５３４は、内部バス５３１を介して接続されており、秘匿が必要な情報を多く取り扱うことから、同一チップ５２０上に搭載され、外部からその動作が解析出来ないようになっている。
制御ＩＦ５２３は、図２３に示す制御部５１２と通信を行うインターフェイスであり、ＣＰＵ５３２から与えられたデータを制御部５１２へ送信するとともに、制御部５１２から受信したデータがＣＰＵ５３２に取り込む。
カードＩＦ５２１は、ＩＣカード５１０と通信を行うインターフェイスであり、ＣＰＵ５３２から与えられたデータをＩＣカード５１０へ送信するとともに、ＩＣカード５１０から受信したデータがＣＰＵ５３２に取り込まれる。
連携ＩＦ５２２は、他のリーダ・ライタと通信を行うインターフェイスであり、ＣＰＵ５３２から与えられたデータを他のリーダ・ライタへ送信するとともに、他のリーダ・ライタから受信したデータをＣＰＵ５３２に取り込む。
【００８４】
図２３のリーダ・ライタ５１１および５１３には鍵データＣのみが事前に設定されており、そのリーダ・ライタを所有するサービス事業者も知り得ない。
一方、サービス事業者Ａは、利用前に、ＩＣカード５１０内のデータＡをアクセス可能な鍵データＡを生成し、メモリ部５３３内のプログラム部５４１に格納された手順により、ＣＰＵ５３２が制御ＩＦ５２３から鍵データデータを読み取り、メモリ部５３３内の特定の領域に保持するように成されている。
また、現在リーダ・ライタが保持している鍵データがＩＣカード５１０内のどのデータをアクセス可能か管理するための情報管理領域がメモリ部５３３内のデータ部５４２に存在する。
当該情報管理領域は、図２５に示すテーブルにより、自身が所持する鍵データを知ることが出来る。図２５に示す鍵データである８桁の１６進数１２３４５６７８は一例を示したものである。
【００８５】
データＡ及びデータＢが格納されたＩＣカード５１０がカードＩＦ５２１を介して接続状態となり、制御部５１２から制御ＩＦ５２３を介して、データＡの領域をデータＢへ書き込むように指令が送られると、リーダ・ライタ５１１は情報管理領域を調べる。メモリ部５３３のデータ部５４２内にはデータＡをアクセス可能な鍵データＡしかないため、連携ＩＦ５２２を介して、リーダ・ライタ５１３へ鍵データＢの取得を要求する。要求を受けたリーダ・ライタ５１３の情報管理領域は、図２６に示すテーブルを保持し、鍵データである例えば８桁の１６進数「５６７８９ＡＢＣ」を格納している。
【００８６】
要求を受け取ったリーダ・ライタ５１３は、情報管理領域を調べると、データＢのアクセスに必要な鍵データを保持していることがわかるので、そのための鍵データをリーダ・ライタ５１１に連携ＩＦ５２２を介して返送する。尚、連携ＩＦ５２２は、事前に設定された鍵データＣによって暗号化されており、リーダ・ライタ５１３からリーダ・ライタ５１１へ返送された鍵データＢが漏洩することはない。
【００８７】
他のリーダ・ライタから取得した後のリーダ・ライタ内での鍵データの寿命は、以下のように取り扱うことが可能である。
（１）制御部５１２から明示的に消去指令がない限り永続的に保持する。
（２）時限付きで、一定時間経過するまで保持し続ける。
（３）必要な都度逐次該当するリーダ・ライタから取得する。
上述した例では、ＩＣカード５１０内のデータをアクセスするために必要な鍵データが他のリーダ・ライタで保持されている場合に、他のリーダ・ライタから取得する場合を例として挙げたが、取り扱う情報は、鍵データである必要はなく、様々な種類の情報に適用可能である。
図２７は、鍵データ以外のデータも取り扱うことを考慮した場合の情報管理領域の例である。
図２７において、ＩＣカードアクセス用鍵データが２つ保持されており、アクセス可能な領域がデータＡ、データＢであることを示している。属性欄は、そのオリジナル情報がどこに存在するかを示している。自身とある場合には、自身の装置内に存在することを示す。データＢのＩＣカード・アクセス用鍵データに関しては、リーダ・ライタＢから取得したことが分かる。自身以外から取得した情報は、上述したように、設定された寿命の取り扱いに従い、情報管理領域が変化する。
これまでは、リーダ・ライタ２台の場合の例を想定したが、３台以上であっても構わない。また、リーダ・ライタ間の通信も、より広域なネットワーク環境で利用することも可能である。図２８は、以上を適用した場合の構成例を示した図である。
これまで連携部は１対１のリーダ・ライタ間接続されていたが、図２８においては、インターネット網等の公衆ネットワーク網に接続されている。ここで、リーダ・ライタ６１１とリーダ・ライタ６１３が連携して通信する場合に必要となる鍵データを鍵データＡＢ、リーダ・ライタ６１１とリーダ・ライタ６１４が連携して通信する場合に必要となる鍵データを鍵データＡＣとして、それぞれ異なるようにすると、互いの通信間を傍受することが出来ないだけなく、例えば、リーダ・ライタ６１３がリーダ・ライタＣから無断で情報を取得するような許可されていないアクセスを防止することが出来る。
【００８８】
以上説明したように、本発明の実施の形態によれば、複数のデータ処理装置（ＳＡＭ）間で連携したサービスを迅速に提供することを可能にする通信方法、データ処理装置およびプログラムを提供することができる。
また、本発明の実施の形態によれば、異なるサービス事業者のサービス提供に係わるデータやプログラムを格納したデータ処理装置相互間で、相手方に秘匿したいデータと、公開するデータとを適切に管理できる通信方法、データ処理装置およびそのプログラムを提供することができる。
【図面の簡単な説明】
【００８９】
【図１】図１は本実施形態の通信システムの全体構成図である。
【図２】図２は図１に示すＩＣカードの機能ブロック図である。
【図３】図３は図２に示すメモリを説明するための図である。
【図４】図４は図１に示すＳＡＭモジュールのソフトウェア構造を説明するための図である。
【図５】図５は図１に示す外部メモリの記憶領域を説明するための図である。
【図６】図６は参照元の図５に示すアプリケーションプログラムを説明するための図である。
【図７】図７は図６に示すデータＰＴ，ＯＰＴの詳細を説明するための図である。
【図８】図８は公開元の図５に示すアプリケーションプログラムを説明するための図である。
【図９】図９は図８に示すデータＰＴ，ＯＰＴの詳細を説明するための図である。
【図１０】図１０はアプリケーションエレメントデータＡＰＥの種別を説明するための図である。
【図１１】図１１は図１に示すＳＡＭモジュールの機能ブロック図である。
【図１２】図１２は図１に示すＳＡＭユニット間での通信方法を説明するための図である。
【図１３】図１３は図１２に示すＳＡＭユニット間通信で、縮退鍵を転送する場合を説明するための図である。
【図１４】図１４はＳＡＭ間エレメント転送コマンドＳＡＭＡＰＥＴＣを説明するための図である。
【図１５】図１５は図１４に示すエレメント属性を説明するための図である。
【図１６】図１６はＳＡＭ間エレメント転送レスポンスＳＡＭＡＰＥＴＲを説明するための図である。
【図１７】図１７はＳＡＭ間での相互認証の手順を説明するための図である。
【図１８】図１８は図１３を参照して前述したＳＡＭユニット間の縮退鍵データの転送の動作例を説明するための図である。
【図１９】図１９はメモリ分割用パッケージの生成および転送処理を説明するための図である。
【図２０】図２０はモリ分割用パッケージ（ＡＰＥ）に対しての図８に示すタグデータＡＰＥ＿ＴＡＧの設定方法について説明するための図である。
【図２１】図２１は図１に示す通信システムの全体動作を説明するための図である。
【図２２】図２２は図１に示す通信システムの全体動作を説明するための図である。
【図２３】図２３は本発明のその他の実施形態を説明するための図である。
【図２４】図２４は本発明のその他の実施形態を説明するための図である。
【図２５】図２５は本発明のその他の実施形態を説明するための図である。
【図２６】図２６は本発明のその他の実施形態を説明するための図である。
【図２７】図２７は本発明のその他の実施形態を説明するための図である。
【図２８】図２８は本発明のその他の実施形態を説明するための図である。
【符号の説明】
【００９０】
１…通信システム、２…サーバ装置、３…ＩＣカード、３ａ…ＩＣモジュール、４…カードリーダ・ライタ、５…パーソナルコンピュータ、７…外部メモリ、８…ＳＡＭモジュール、９，９ａ…ＳＡＭユニット、１５＿１〜１５＿３…サービス事業者、１９…ＡＳＰサーバ装置、４１…携帯通信装置、４２…ＩＣモジュール、４３…通信処理部
【図１】
2006260594.tif 000003
【図２】
2006260594.tif 000004
【図３】
2006260594.tif 000005
【図４】
2006260594.tif 000006
【図５】
2006260594.tif 000007
【図６】
2006260594.tif 000008
【図７】
2006260594.tif 000009
【図８】
2006260594.tif 000010
【図９】
2006260594.tif 000011
【図１０】
2006260594.tif 000012
【図１１】
2006260594.tif 000013
【図１２】
2006260594.tif 000014
【図１３】
2006260594.tif 000015
【図１４】
2006260594.tif 000016
【図１５】
2006260594.tif 000017
【図１６】
2006260594.tif 000018
【図１７】
2006260594.tif 000019
【図１８】
2006260594.tif 000020
【図１９】
2006260594.tif 000021
【図２０】
2006260594.tif 000022
【図２１】
2006260594.tif 000023
【図２２】
2006260594.tif 000024
【図２３】
2006260594.tif 000025
【図２４】
2006260594.tif 000026
【図２５】
2006260594.tif 000027
【図２６】
2006260594.tif 000028
【図２７】
2006260594.tif 000029
【図２８】
2006260594.tif 000030