(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置であって、
インタフェースと、
前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する記憶回路と、
前記設定データに基づいて前記データモジュールに係わる処理を実行し、前記データモジュールのバックアップを行う場合に、前記アプリケーションプログラムに対応する暗号鍵データを用いて前記データモジュールおよび前記設定データを暗号化し、暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールを前記インタフェース手段を介して出力する処理回路と
を有するデータ処理装置。
【請求項２】
前記処理回路は、前記データモジュールのリストアを行う場合に、前記インタフェースを介して入力したリストア用モジュールに格納された前記データモジュールおよび前記設定データを前記暗号鍵データを用いて復号し、復号された前記データモジュールおよび前記設定データを前記記憶回路に書き込む
請求項１に記載のデータ処理装置。
【請求項３】
アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行うデータ処理方法であって、
前記データ処理装置が、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、
前記データ処理装置が、前記アプリケーションプログラムに対応する暗号鍵データを用いて前記データモジュールおよび前記設定データを暗号化し、
前記データ処理装置が、暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールを、バックアップ先の装置に出力する  データ処理方法。
【請求項４】
前記バックアップ先の装置が、前記暗号化された前記データモジュールおよび前記設定データを格納したリストア用モジュールを前記データ処理装置に出力し、
前記データ処理装置が、入力した前記リストア用モジュールに格納された前記データモジュールおよび前記設定データを前記暗号鍵データを用いて復号して記憶する
請求項３に記載のデータ処理方法。
【請求項５】
アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行う手順を有し、前記データ処理装置によって実行されるプログラムであって、
前記データ処理装置が、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、
前記アプリケーションプログラムに対応する暗号鍵データを用いて前記データモジュールおよび前記設定データを暗号化する手順と、
前記暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールを、バックアップ先の装置に出力する手順と
を有する
プログラム。
【請求項６】
前記バックアップ先の装置から、前記暗号化された前記データモジュールおよび前記設定データを格納したリストア用モジュールを入力する手順と、
前記入力した前記リストア用モジュールに格納された前記データモジュールおよび前記設定データを前記暗号鍵データを用いて復号して記憶する手順と
を有する請求項５に記載のプログラム。
【請求項７】
アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置であって、
インタフェースと、
前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する記憶回路と、
前記設定データに基づいて前記データモジュールに係わる処理を実行し、前記データモジュールのバックアップを行う場合に、前記アプリケーションプログラムに対応する暗号鍵データを用いて前記設定データを暗号化し、暗号化された前記設定データを格納したバックアップ用モジュールを前記インタフェースを介して出力する処理回路と
を有するデータ処理装置。
【請求項８】
前記処理回路は、前記データモジュールのリストアを行う場合に、前記インタフェースを介して入力したリストア用モジュールに格納された前記設定データを、前記暗号鍵データで復号して前記記憶回路に書き込み、前記インタフェースを介して入力したコマンドに応じて、前記設定データに対応した前記データモジュールを内部生成し、当該内部生成したデータモジュールを前記記憶回路に書き込む
請求項７に記載のデータ処理装置。
【請求項９】
前記処理回路は、前記データモジュールのリストアを行う場合に、前記インタフェースを介して入力したリストア用モジュールに格納された前記設定データを、前記暗号鍵データで復号して前記記憶回路に書き込み、前記インタフェースを介して入力したコマンドに応じて、前記インタフェースを介して他のデータ処理装置から前記設定データに対応した前記データモジュールを入力し、当該入力したデータモジュールを前記記憶回路に書き込む
請求項７に記載のデータ処理装置。
【請求項１０】
前記処理回路は、前記暗号鍵データとは異なる暗号鍵データを用いて、前記入力したデータモジュールを復号して前記記憶回路に書き込む
請求項９に記載のデータ処理装置。
【請求項１１】
前記アプリケーションプログラムは、前記他のデータ処理装置から前記データモジュールを取得済および未取得の何れであるかを示すヘッダデータを有し、
前記処理回路は、前記ヘッダデータに基づいて、前記データモジュールに係わる処理を行う
請求項９に記載のデータ処理装置。
【請求項１２】
前記アプリケーションプログラムは、前記データモジュールの内部生成と、前記他のデータ処理装置からの前記データモジュール入力の何れを行うかを示すヘッダデータを有し、
前記処理回路は、前記ヘッダデータに基づいて、前記データモジュールに係わる処理を行う
請求項９に記載のデータ処理装置。
【請求項１３】
前記データモジュールは、前記データモジュールを用いて前記集積回路と協動して行われた処理の履歴データ、前記集積回路の処理の操作に用いられる鍵データ、前記データ処理装置が他のデータ処理装置と通信を行うために用いられる鍵データのうち少なくとも一つである
請求項７に記載のデータ処理装置。
【請求項１４】
アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行うデータ処理方法であって、
前記データ処理装置が、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、
前記データ処理装置が、前記アプリケーションプログラムに対応する暗号鍵データを用いて前記設定データを暗号化し、
前記データ処理装置が、前記暗号化された前記設定データを格納したバックアップ用モジュールを、バックアップ先の装置に出力する
データ処理方法。
【請求項１５】
前記データモジュールのリストアを行う場合に、前記バックアップ先の装置が前記データ処理装置に、前記暗号化された前記設定データを格納したリストア用モジュールを出力し、
前記データ処理装置が、前記リストア用モジュールに格納された前記設定データを、前記暗号鍵データで復号し、
前記データ処理装置が、前記復号した設定データを記憶し、
前記データ処理装置が、前記バックアップ先の装置から入力したコマンドに応じて、前記設定データに対応した前記データモジュールを内部生成し、
前記データ処理装置が、前記内部生成したデータモジュールを記憶する
請求項１４に記載のデータ処理方法。
【請求項１６】
前記データモジュールのリストアを行う場合に、前記バックアップ先の装置が前記データ処理装置に、前記暗号化された前記設定データを格納したリストア用モジュールを出力し、
前記データ処理装置が、前記リストア用モジュールに格納された前記設定データを、前記暗号鍵データで復号して記憶し、
前記データ処理装置が、前記バックアップ先の装置から入力したコマンドに応じて、他のデータ処理装置から前記設定データに対応した前記データモジュールを入力し、
前記データ処理装置が、前記入力したデータモジュールを記憶する
請求項１４に記載のデータ処理方法。
【請求項１７】
アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行う手順を有し、前記データ処理装置によって実行されるプログラムであって、
前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、
前記アプリケーションプログラムに対応する暗号鍵データを用いて前記設定データを暗号化する手順と、
前記暗号化された前記設定データを格納したバックアップ用モジュールを、バックアップ先の装置に出力する手順と
を有するプログラム。
【請求項１８】
前記データモジュールのリストアを行う場合に、前記バックアップ先の装置から、前記暗号化された前記設定データを格納したリストア用モジュールを入力する手順と、
前記リストア用モジュールに格納された前記設定データを、前記暗号鍵データで復号する手順と、
前記復号した設定データを記憶する手順と、
前記バックアップ先の装置から入力したコマンドに応じて、前記設定データに対応した前記データモジュールを内部生成する手順と、
前記内部生成したデータモジュールを記憶する手順と
を有する請求項１７に記載のプログラム。
【請求項１９】
前記データモジュールのリストアを行う場合に、前記バックアップ先の装置から、前記暗号化された前記設定データを格納したリストア用モジュールを入力する手順と、
前記リストア用モジュールに格納された前記設定データを、前記暗号鍵データで復号して記憶する手順と、
前記バックアップ先の装置から入力したコマンドに応じて、他のデータ処理装置から前記設定データに対応した前記データモジュールを入力する手順と、
前記入力したデータモジュールを記憶する手順と
を有する請求項１７に記載のプログラム。
【請求項２０】
アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置であって、
インタフェースと、
前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する記憶回路と、
前記設定データに基づいて前記データモジュールに係わる処理を実行し、前記データモジュールのバックアップを行う場合に、他のデータ処理装置からデータモジュールを入力し、当該入力したデータモジュールと前記設定データとを前記アプリケーションプログラムに対応する暗号鍵データを用いて暗号化し、暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールを前記インタフェース手段を介して出力する処理回路と
を有するデータ処理装置。
【請求項２１】
前記処理回路は、前記データモジュールのリストアを行う場合に、前記インタフェースを介して入力したリストア用モジュールに格納された前記データモジュールおよび前記設定データを、前記暗号鍵データで復号して前記記憶回路に書き込む
請求項２０に記載のデータ処理装置。
【請求項２２】
アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行うデータ処理方法であって、
前記データ処理装置が、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、
他のデータ処理装置からデータモジュールを入力し、
前記入力したデータモジュールと前記設定データとを前記アプリケーションプログラムに対応する暗号鍵データを用いて暗号化し、
前記暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールをバックアップ先の装置に出力する
データ処理方法。
【請求項２３】
前記データモジュールのリストアを行う場合に、前記バックアップ先の装置から入力したリストア用モジュールに格納された前記データモジュールおよび前記設定データを、前記暗号鍵データで復号し、
前記復号されたデータモジュールおよび設定データを記憶する
請求項２２に記載のデータ処理方法。
【請求項２４】
アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行う手順を有し、前記データ処理装置によって実行されるプログラムであって、
前記データ処理装置が、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、
他のデータ処理装置からデータモジュールを入力する手順と、
前記入力したデータモジュールと前記設定データとを前記アプリケーションプログラムに対応する暗号鍵データを用いて暗号化する手順と、
前記暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールをバックアップ先の装置に出力する手順と
を有するプログラム。
【請求項２５】
前記データモジュールのリストアを行う場合に、前記バックアップ先の装置から入力したリストア用モジュールに格納された前記データモジュールおよび前記設定データを、前記暗号鍵データで復号する手順と、
前記復号されたデータモジュールおよび設定データを記憶する手順と
を有する請求項２４に記載のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＣなどの集積回路を用いたサービス提供に用いられるデータ処理装置およびその方法、認証方法とプログラムに関する。
【０００２】
【従来の技術】
現在、ＩＣカードを用いてインターネットなどのネットワークを介した取り引きを行う通信システムが開発されている。
このような通信システムでは、ＩＣカードを用いたサービスを提供するサービス提供者からの依頼を受けて当該サービス提供者が規定した手続き処理を実行するアプリケーションプログラムをサーバ装置が実行する。
サーバ装置は、例えばＩＣカードのリーダ・ライタやＰＣ(Personal Computer) から処理要求に応じて、上記アプリケーションプログラムに基づいて、ユーザ認証やデータの暗号化及び復号などの処理を行う。
【０００３】
【発明が解決しようとする課題】
上述したサーバ装置上で動作するアプリケーションプログラムは、サービス提供者が設定した鍵データ、課金データおよび履歴データなどのセキュリティの高いデータを取り扱うため、不正な改竄や監視から保護しなければならない。
従って、上述したサーバ装置のアプリケーションプログラムをバックアップする場合や、当該アプリケーションプログラムを外部から設定する場合などに、当該アプリケーションプログラムが不正なユーザによって改竄および監視されることを適切に防止する機能が必要となる。
【０００４】
本発明は上述した従来技術の問題点に鑑みてなされ、ＩＣなどの集積回路を用いたサービスを提供したり、バックアップやリストアを行う際、サーバ装置上で動作するアプリケーションプログラムのセキュリティを高めることができるデータ処理装置およびその方法、認証方法とプログラムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記の目的を達成するため、第１の発明のデータ処理装置は、アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置であって、インタフェースと、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する記憶回路と、前記設定データに基づいて前記データモジュールに係わる処理を実行し、前記データモジュールのバックアップを行う場合に、前記アプリケーションプログラムに対応する暗号鍵データを用いて前記データモジュールおよび前記設定データを暗号化し、暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールを前記インタフェース手段を介して出力する処理回路とを有する。
【０００６】
第１の発明のデータ処理装置の作用は以下のようになる。
第１の発明のデータ処理装置では、記憶回路に記憶されたデータモジュールのバックアップを行う場合に、処理回路が、前記アプリケーションプログラムに対応する暗号鍵データを用いて前記データモジュールおよび前記設定データを暗号化する。
次に、処理回路が、前記暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールを生成する。
次に、処理回路が、前記バックアップ用モジュールを、前記インタフェース手段を介して、バックアップ先の装置に出力する。
【０００７】
また、第１の発明のデータ処理装置は、前記データモジュールのリストアを行う場合に、前記インタフェースを介して入力したリストア用モジュールに格納された前記データモジュールおよび前記設定データを前記暗号鍵データを用いて復号し、復号された前記データモジュールおよび前記設定データを前記記憶回路に書き込む。
【０００８】
また、第２の発明のデータ処理方法は、アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行うデータ処理方法であって、前記データ処理装置が、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、前記データ処理装置が、前記アプリケーションプログラムに対応する暗号鍵データを用いて前記データモジュールおよび前記設定データを暗号化し、前記データ処理装置が、暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールを、バックアップ先の装置に出力する。
また、第２の発明のデータ処理方法は、前記バックアップ先の装置が、前記暗号化された前記データモジュールおよび前記設定データを格納したリストア用モジュールを前記データ処理装置に出力し、前記データ処理装置が、入力した前記リストア用モジュールに格納された前記データモジュールおよび前記設定データを前記暗号鍵データを用いて復号して記憶する。
【０００９】
また、第３の発明のプログラムは、アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行う手順を有し、前記データ処理装置によって実行されるプログラムであって、前記データ処理装置が、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、前記アプリケーションプログラムに対応する暗号鍵データを用いて前記データモジュールおよび前記設定データを暗号化する手順と、前記暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールを、バックアップ先の装置に出力する手順とを有する。
また、第３の発明のプログラムは、前記バックアップ先の装置から、前記暗号化された前記データモジュールおよび前記設定データを格納したリストア用モジュールを入力する手順と、前記入力した前記リストア用モジュールに格納された前記データモジュールおよび前記設定データを前記暗号鍵データを用いて復号して記憶する手順とを有する。
【００１０】
また、第４の発明のデータ処理装置は、アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置であって、インタフェースと、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する記憶回路と、前記設定データに基づいて前記データモジュールに係わる処理を実行し、前記データモジュールのバックアップを行う場合に、前記アプリケーションプログラムに対応する暗号鍵データを用いて前記設定データを暗号化し、暗号化された前記設定データを格納したバックアップ用モジュールを前記インタフェースを介して出力する処理回路とを有する。
【００１１】
また、第４の発明のデータ処理装置は、好ましくは、前記処理回路は、前記データモジュールのリストアを行う場合に、前記インタフェースを介して入力したリストア用モジュールに格納された前記設定データを、前記暗号鍵データで復号して前記記憶回路に書き込み、前記インタフェースを介して入力したコマンドに応じて、前記設定データに対応した前記データモジュールを内部生成し、当該内部生成したデータモジュールを前記記憶回路に書き込む。
また、第４の発明のデータ処理装置は、好ましくは、前記処理回路は、前記データモジュールのリストアを行う場合に、前記インタフェースを介して入力したリストア用モジュールに格納された前記設定データを、前記暗号鍵データで復号して前記記憶回路に書き込み、前記インタフェースを介して入力したコマンドに応じて、前記インタフェースを介して他のデータ処理装置から前記設定データに対応した前記データモジュールを入力し、当該入力したデータモジュールを前記記憶回路に書き込む。
【００１２】
また、第５の発明のデータ処理方法は、アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行うデータ処理方法であって、前記データ処理装置が、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、前記データ処理装置が、前記アプリケーションプログラムに対応する暗号鍵データを用いて前記設定データを暗号化し、前記データ処理装置が、前記暗号化された前記設定データを格納したバックアップ用モジュールを、バックアップ先の装置に出力する。
【００１３】
また、第６の発明のプログラムは、アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行う手順を有し、前記データ処理装置によって実行されるプログラムであって、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、前記アプリケーションプログラムに対応する暗号鍵データを用いて前記設定データを暗号化する手順と、前記暗号化された前記設定データを格納したバックアップ用モジュールを、バックアップ先の装置に出力する手順とを有する。
【００１４】
また、第７の発明のデータ処理装置は、アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置であって、インタフェースと、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する記憶回路と、前記設定データに基づいて前記データモジュールに係わる処理を実行し、前記データモジュールのバックアップを行う場合に、他のデータ処理装置からデータモジュールを入力し、当該入力したデータモジュールと前記設定データとを前記アプリケーションプログラムに対応する暗号鍵データを用いて暗号化し、暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールを前記インタフェース手段を介して出力する処理回路とを有する。
【００１５】
また、第８の発明のデータ処理方法は、アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行うデータ処理方法であって、前記データ処理装置が、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、他のデータ処理装置からデータモジュールを入力し、前記入力したデータモジュールと前記設定データとを前記アプリケーションプログラムに対応する暗号鍵データを用いて暗号化し、前記暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールをバックアップ先の装置に出力する。
【００１６】
また、第９の発明のプログラムは、アプリケーションプログラムを実行し、所定の集積回路との間でデータ授受を行い、前記集積回路と協動して所定のサービスを提供するデータ処理装置のバックアップを行う手順を有し、前記データ処理装置によって実行されるプログラムであって、前記データ処理装置が、前記アプリケーションプログラムを構成する複数のデータモジュールと、前記データモジュールに係わる処理に用いられる設定データとを記憶する場合に、他のデータ処理装置からデータモジュールを入力する手順と、前記入力したデータモジュールと前記設定データとを前記アプリケーションプログラムに対応する暗号鍵データを用いて暗号化する手順と、前記暗号化された前記データモジュールおよび前記設定データを格納したバックアップ用モジュールをバックアップ先の装置に出力する手順とを有する。
【００２３】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照して説明する。
図１は、本実施形態の通信システム１の全体構成図である。
図１に示すように、通信システム１は、店舗などに設置されたサーバ装置２、ＩＣカード３、カードリーダ・ライタ４、パーソナルコンピュータ５、ＡＳＰ(Application Service Provider)サーバ装置１９、ＳＡＭ(Secure Application Module) ユニット９、ＩＣモジュール４２（本発明の集積回路）が内蔵された携帯通信装置４１を用いて、インターネット１０を介して通信を行ってＩＣカード３あるいは携帯通信装置４１を用いた決済処理などの手続き処理を行う。
ＳＡＭユニット９（本発明のデータ処理装置）は、外部メモリ７（本発明の記憶回路）およびＳＡＭモジュール８（本発明の処理回路）を有する。
【００２４】
ＳＡＭモジュール８は、必要に応じて、図示しない他のＳＡＭモジュールとデータの授受を行う。
また、ＳＡＭモジュール８は、バックアップ(Backup)処理およびリストア(Restore) 処理を行う場合に、後述するように、コンピュータなど（本発明のバックアップ先の装置）に接続される。
【００２５】
以下、図１に示す構成要素について説明する。
〔ＩＣカード３および携帯通信装置４１〕
図２は、ＩＣカード３の機能ブロック図である。
図２に示すように、ＩＣカード３は、メモリ５０およびＣＰＵ５１を備えたＩＣ(Integrated Circuit)モジュール３ａを有する。
メモリ５０は、図３に示すように、クレジットカード会社などのサービス事業者１５＿１が使用する記憶領域５５＿１、サービス事業者１５＿２が使用する記憶領域５５＿２、並びにサービス事業者１５＿３が使用する記憶領域５５＿３を有する。
また、メモリ５０は、記憶領域５５＿１へのアクセス権限を判断するために用いられる鍵データ、記憶領域５５＿２へのアクセス権限を判断するために用いられる鍵データ、並びに記憶領域５５＿３へのアクセス権限を判断するために用いられる鍵データを記憶している。当該鍵データは、相互認証や、データの暗号化および復号などに用いられる。
また、メモリ５０は、ＩＣカード３あるいはＩＣカード３のユーザの識別データを記憶している。
【００２６】
携帯通信装置４１は、携帯電話網およびインターネット１０を介してＡＳＰサーバ装置と通信を行う図示しない通信機能部と、上記通信機能部との間でデータ授受可能なＩＣモジュール４２とを有し、アンテナからインターネット１０を介してＳＡＭユニット９と通信を行う。
ＩＣモジュール４２は、携帯通信装置４１の通信機能部とデータ授受を行う点を除いて、前述したＩＣカード３のＩＣモジュール３ａと同じ機能を有している。
なお、携帯通信装置４１を用いた処理は、ＩＣカード３を用いた処理と同様に行われ、ＩＣモジュール４２を用いた処理はＩＣモジュール３ａを用いた処理と同様に行われるため、以下の説明では、ＩＣカード３およびＩＣモジュール３ａを用いた処理について例示する。
【００２７】
以下、ＳＡＭユニット９について詳細に説明する。
ＳＡＭユニット９は、前述したように、外部メモリ７（本発明の記憶回路）とＳＡＭモジュール８（本発明の処理回路）とを有する。
ここで、ＳＡＭモジュール８は、半導体回路として実現してもよいし、筐体内に複数の回路を収容した装置として実現してもよい。
【００２８】
〔ＳＡＭモジュール８のソフトウェア構成〕
ＳＡＭモジュール８は、図４に示すようなソフトウェア構成を有している。
図４に示すように、ＳＡＭモジュール８は、下層から上層に向けて、ハードウェアＨＷ層、周辺ＨＷに対応したＲＴＯＳカーネルなどを含めたドライバ層（ＯＳ層）、論理的にまとまった単位の処理を行う下位ハンドラ層、アプリケーション固有のライブラリなどをまとめた上位ハンドラ層およびＡＰ層を順に有している。
ここで、ＡＰ層では、図１に示すクレジットカード会社などのサービス事業者１５＿１，１５＿２，１５＿３によるＩＣカード３を用いた手続きを規定したアプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３（本発明のアプリケーションプログラム）が、外部メモリ７から読み出されて動作している。
各アプリケーションプログラムには、１つ以上のマクロスクリプトが設定可能である。
また、アプリケーションプログラムは、後述するように、複数のアプリケーションエレメントデータＡＰＥ（本発明のデータモジュール）によって構成されている。
ＡＰ層では、アプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３相互間、並びに上位ハンドラ層との間にファイアウォールＦＷが設けられている。
【００２９】
〔外部メモリ２０７〕
図５は、外部メモリ７の記憶領域を説明するための図である。
図５に示すように、外部メモリ２０７の記憶領域には、サービス事業者１５＿１のアプリケーションプログラムＡＰ＿１が記憶されるＡＰ記憶領域２２０＿１、サービス事業者１５＿２のアプリケーションプログラムＡＰ＿２が記憶されるＡＰ記憶領域２２０＿２、サービス事業者１５＿３のアプリケーションプログラムＡＰ＿３が記憶されるＡＰ記憶領域２２０＿３、並びにＳＡＭモジュール２０８の管理者が使用するＡＰ管理用記憶領域２２１がある。
なお、本発明の設定データは、例えば、ＡＰ管理用記憶領域２２１に記憶された、アプリケーションプログラムの実行、設定および管理に用いられる鍵データなどのデータである。
【００３０】
ＡＰ記憶領域２２０＿１に記憶されているアプリケーションプログラムＡＰ＿１は、後述する複数のアプリケーションエレメントデータＡＰＥによって構成されている。ＡＰ記憶領域２２０＿１へのアクセスは、ファイアウォールＦＷ＿１によって制限されている。
ＡＰ記憶領域２２０＿２に記憶されているアプリケーションプログラムＡＰ＿２は、複数のアプリケーションエレメントデータＡＰＥによって構成されている。ＡＰ記憶領域２２０＿２へのアクセスは、ファイアウォールＦＷ＿２によって制限されている。
ＡＰ記憶領域２２０＿３に記憶されているアプリケーションプログラムＡＰ＿３は、複数のアプリケーションエレメントデータＡＰＥによって構成されている。ＡＰ記憶領域２２０＿３へのアクセスは、ファイアウォールＦＷ＿３によって制限されている。
本実施形態では、上記アプリケーションエレメントデータＡＰＥは、例えば、ＳＡＭユニット９の外部から外部メモリ７にダウンロードされる最小単位である。各アプリケーションプログラムを構成するアプリケーションエレメントデータＡＰＥの数は、対応するサービス事業者が任意に決定できる。
【００３１】
また、外部メモリ７に記憶されたアプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３は、スクランブルされており、ＳＡＭモジュール８に読み込まれたときに、デスクランブルされる。
また、アプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３は、例えば、それぞれ図１に示すパーソナルコンピュータ１６＿１，１６＿２，１６＿３を用いて、サービス事業者１５＿１，１５＿２，１５＿３によって作成され、ＳＡＭモジュール８を介して外部メモリ７にダウンロードされる。
【００３２】
以下、アプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３について詳細に説明する。
アプリケーションプログラムは、サービス事業者毎に、ＳＡＭ内に単数または複数個存在する。
アプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３（以下、ＡＰとも記す）は、図６に示すように、アプリケーションプログラムＡＰを識別するための識別データＡＰ＿ＩＤと、当該アプリケーションプログラムのバージョン（世代情報）を示すデータＡＰＰ＿ＶＥＲ、後述するようにバックアップ処理などに使用されるヘッダデータＨＥＡＤＥＲ、当該アプリケーションプログラムに含まれるアプリケーションエレメントデータＡＰＥの数を示すデータＡＰＥ＿ＮＵＭと、単数または複数のアプリケーションエレメントデータＡＰＥとによって構成される。
識別データＡＰ＿ＩＤは、サービス事業者毎に異なるように決められている。
【００３３】
図７は、図６に示すヘッダデータＨＥＡＤＥＲの一例を説明するための図である。
図７に示すように、ヘッダデータＨＥＡＤＥＲは、アプリケーションエレメントデータＡＰＥの識別データＡＰＥ＿ＩＤと、フラグ１(flag1) と、フラグ２(flag2) とを対応付けて示している。
フラグ１は、バックアップおよびリストア（設定を含む）の対象となるアプリケーションプログラムＡＰのアプリケーションエレメントデータＡＰＥが、ＳＡＭユニット９内に格納されるものであるか否かを示している。具体的には、フラグ１が「内部（例えば論理値「０」）を示している場合には、当該アプリケーションエレメントデータＡＰＥがＳＡＭユニット９内に格納されるものであることを示している。一方、フラグ１が「外部（例えば論理値「１」）を示している場合には、当該アプリケーションエレメントデータＡＰＥが他のＳＡＭユニットと連携してＳＡＭユニット９によって取得されるものであることを示している。
【００３４】
フラグ２は、フラグ１が「外部」を示す場合に、当該アプリケーションエレメントデータＡＰＥが、他のＳＡＭユニットとの連携によりＳＡＭユニット９が既に取得したか否かを示している。具体的には、フラグ２が「取得済（例えば論理値「１」）の場合にはＳＡＭユニット９が当該アプリケーションエレメントデータＡＰＥを他のＳＡＭユニットから取得していることを示している。フラグ２が「未取得（例えば論理値「０」）の場合にはＳＡＭユニット９が当該アプリケーションエレメントデータＡＰＥを未だ他のＳＡＭユニットから取得していないことを示している。
【００３５】
図６に示すように、アプリケーションエレメントデータＡＰＥは、当該アプリケーションエレメントデータＡＰＥのデータサイズを示すデータＡＰＥ＿ＳＩＺＥと、当該アプリケーションエレメントデータＡＰＥを識別するための識別データＡＰＥ＿ＩＤと、当該アプリケーションエレメントデータＡＰＥのバージョンを示すデータＡＰＥ＿ＶＥＲ、サービス事業者が設定可能な当該アプリケーションエレメントデータＡＰＥの識別データ（タグ）であるデータＡＰＥ＿ＴＡＧ、ＡＰＰテーブルデータを特定するデータＡＰＰＴ、オプションを設定するデータＯＰＴ、データ本体ＡＰＥ＿ＰＬとで構成される。
ここで、識別データＡＰＥ＿ＩＤは、アプリケーションエレメントデータＡＰＥの種別を示すデータＡＰＥ＿ＴＹＰＥと、当該種別内でのアプリケーションエレメントデータＡＰＥの識別番号（インスタンス識別番号）を示すデータＩＮＳ＿ＮＵＭとで構成される。データＩＮＳ＿ＮＵＭは、エンドユーザ（サービス事業者）側で管理される。
例えば、アプリケーションエレメントデータＡＰＥがファイルシステムコンフィグレーションの場合には、データＡＰＥ＿ＴＹＰＥが「２」となり、データＩＮＳ＿ＮＵＭが「１」となる。これにより、同−のＳＡＭであれば、識別データＡＰＥ＿ＩＤにより一意にアプリケーションエレメントデータＡＰＥを特定できる。
データＡＰＥ＿ＶＥＲは、サービス事業者が任意に設定できる。
また、データＡＰＥ＿ＴＡＧは、個々のアプリケーションプログラムＡＰ内で一意に定義される必要がある。
【００３６】
図５に示す外部メモリ７には、上述したアプリケーションプログラムＡＰ（ＡＰ＿１，ＡＰ＿２，ＡＰ＿３）が、ＳＡＭユニット９外でＡＰリソース鍵データＫ＿ＡＰＲ（暗号化鍵データ）によって暗号化されて、設定コマンドによって、外部メモリ７内にアプリケーションプログラム・パッケージＡＰＰとして記憶されている。
ＡＰリソース鍵データＫ＿ＡＰＲとしては、アプリケーションプログラム毎で異なる暗号化鍵データが用いられる。
【００３７】
以下、図６を用いて説明したアプリケーションエレメントデータＡＰＥの種別（ＡＰＥ＿ＴＹＰＥ）について説明する。
図８は、１つのＡＰ領域内に記憶されたアプリケーションエレメントデータＡＰＥの一例を示す図である。
図８は、データＡＰＥ＿ＴＹＰＥの番号と、その内容とを対応付けて示している。
図８に示すように、ＡＰ領域内には、例えば、ＡＰリソース鍵データＫ＿ＡＰＲ、カードアクセス鍵データ、ファイルシステムコンフィグレーションデータ、ＳＡＭ相互認証用鍵データ、ＳＡＭ間鍵パッケージ鍵データ、ＩＣカード操作用マクロコマンドスクリプトプログラム、メモリ分割用鍵パッケージ、エリア登録鍵パッケージ、エリア削除用鍵パッケージ、サービス登録用鍵データ、サービス削除用鍵パッケージ、が、アプリケーションエレメントデータＡＰＥとして記憶されている。
【００３８】
・ＡＰリソース鍵データＫ＿ＡＰＲ
ＡＰリソース鍵データＫ＿ＡＰＲは、アプリケーションエレメントデータＡＰＥを設定する際の暗号用鍵として使用され、ＡＰ領域毎に、アプリケーションエレメントデータＡＰＥを設定するために異なる鍵データＫ＿ＡＰＲが割り当てられている。
・カードアクセス鍵データ
カードアクセス鍵データは、ＩＣカード３およびＩＣモジュール４２のメモリ５０に対してのデータの読み書き操作に用いられる鍵データである。
カードアクセス鍵データには、例えば、ＩＣカードシステム鍵データ、ＩＣカードエリア鍵データ、ＩＣカードサービス鍵データおよびＩＣカード縮退鍵データなどがある。
ここで、ＩＣカード縮退鍵データは、、ＩＣカードシステム鍵データと、メモリ５０の記憶領域管理用鍵データとを用いて暗号化して生成され、相互認証に用いられる鍵データである。
また、ＩＣカード操作用マクロコマンドスクリプトプログラムで参照される鍵データも、カードアクセス鍵データと同じ種別のアプリケーションエレメントデータＡＰＥに含まれる
【００３９】
・ファイルシステムコンフィグレーションデータ
ファイルシステムコンフィグレーションデータとしては、例えば、ログデータ、ネガデータ、ジャーナルデータがある。
ログデータは例えばアプリケーションエレメントデータＡＰＥの利用履歴データであり、ネガデータは例えばＩＣカードの失効情報であり、ジャーナルデータは例えばＳＡＭでの実行履歴である。
例えば、ファイルシステムコンフィグレーションでは、ファイルアクセスの種別（レコードキー指定・ソート・リング）の選択を行い、レコードキーの場合であれば、レコードサイズ、レコード全体件数・レコード署名バージョン・レコード署名メソッドタイプ、レコードデータサイズ、レコード署名鍵を設定する。さらに、外部から本ファイルシステムにデータを書き込む際に署名検証を実施するかの有無の指定などを行う。ここでレコードとは、ファイルデータへの書き込み／読み出しの最小単位である。
【００４０】
・ＳＡＭ相互認証用鍵データ
同一ＳＡＭ内にあるＡＰ間相互認証にも使用される。
ＳＡＭ相互認証用鍵データとは、対応するアプリケーションエレメントデータＡＰＥを同一ＳＡＭ内の他のＡＰまたは他のＳＡＭからアクセスする際に用いられる鍵データである。
・ＳＡＭ間鍵パッケージ鍵
ＳＡＭ間鍵パッケージ鍵とは、ＳＡＭ間での相互認証後、カードアクセス鍵データなどのデータを交換する際に用いられる暗号化用鍵データである。
・ＩＣカード操作用マクロコマンドスクリプトプログラム
ＩＣカード操作用マクロコマンドスクリプトプログラムは、サービス事業者自身によって生成され、ＩＣカード３に係わる処理の順番やＡＳＰサーバ装置１９とのやり取りを記述している。ＩＣカード操作用マクロコマンドスクリプトプログラムは、ＳＡＭユニット９に設定された後に、ＳＡＭモジュール８内で解釈され、対応するＩＣカードエンティティデータが生成される。
【００４１】
・メモリ分割用鍵パッケージ
メモリ分割用鍵パッケージは、サービス事業者がＩＣカード３を用いたサービスの運用開始前に、外部メモリ７やＩＣカード３のメモリの記憶領域を分割するために使用するデータである。
・エリア登録鍵パッケージ
エリア登録鍵パッケージは、サービス事業者がＩＣカード３を用いたサービスの運用開始前に、ＩＣカード３のメモリの記憶領域にエリア登録を行う場合に使用するデータである。
・エリア削除用鍵パッケージ（内部生成）
エリア削除用鍵パッケージは、カードアクセス鍵データからＳＡＭ内部で自動生成が可能なパッケージである。
【００４２】
・サービス登録用鍵（内部生成）
サービス登録用鍵パッケージは、サービス事業者がＩＣカード３を用いたサービスの運用開始前に、外部メモリ７のアプリケーションエレメントデータＡＰＥを登録するために用いられる。
サービス登録用鍵パッケージは、カードアクセス鍵データからＳＡＭ内部で自動生成が可能なパッケージである。
・サービス削除用鍵パッケージ（内部生成）
サービス削除用鍵パッケージは、外部メモリ７に登録されているアプリケーションエレメントデータＡＰＥを削除するために用いられる。
サービス削除用鍵パッケージは、カードアクセス鍵データからＳＡＭ内部で自動生成が可能なパッケージである。
【００４３】
以下、上述したＩＣカード操作用マクロコマンドスクリプトプログラム（以下、スクリプトプログラムとも記す）について詳細に説明する。
スクリプトプログラムは、ＳＡＭモジュール８上で動作するサービス事業者１５＿１，１５＿２，１５＿３のアプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３、並びに当該アプリケーションプログラムの実行時にＩＣカード３のＩＣモジュール３ａおよび携帯通信装置４１のＩＣモジュール４２が行う処理の手続きを規定するためのプログラムである。
本実施形態では、後述するように、図９に示すように、ＳＡＭモジュール８内で、スクリプトダウンロードタスク６９およびスクリプト解釈タスク７０に基づいて処理を行い、ＡＰ管理テーブルデータおよびスクリプトプログラムから、サービス事業者１５＿１，１５＿２，１５＿３に関する手続きに用いられるＩＣカードエンティティテンプレートデータ３０＿１、入力用データブロック３１＿ｘ１、出力用データブロック３２＿ｘ２、ログ用データブロック３３＿ｘ３および演算定義用データブロック３４＿ｘ４を生成する。
【００４４】
以下、図５に示す外部メモリ７のＡＰ管理用記憶領域２２１に記憶されたデータについて説明する。
ＡＰ管理用記憶領域２２１へのアクセスは、ファイアウォールＦＷ＿４によって制限されている。
なお、ファイアウォールＦＷ＿４は、図４に示すファイアウォールＦＷに対応している。
図１０は、ＡＰ管理用記憶領域２２１に記憶されているデータの詳細を説明するための図である。
ＡＰ管理用記憶領域２２１には、図１０に示すように、ＡＰ管理用テーブルデータ３００＿１，３００＿２，３００＿３（３００）と、ＡＰＰテーブルデータ３０１＿１，３０１＿２，３０１＿３（３０１）と、ＡＰ選択用データ３０２＿１，３０２＿２，３０２＿３（３０２）、が記憶されている。
ここで、ＡＰ管理用テーブルデータ３００＿１，３００＿２，３００＿３と、ＡＰＰテーブルデータ３０１＿１，３０１＿２，３０１＿３は、例えば、ＳＡＭモジュール８のセットアップ時に予め登録されている。また、ＡＰ管理用テーブルデータ３００＿１，３００＿２，３００＿３と、ＡＰＰテーブルデータ３０１＿１，３０１＿２，３０１＿の書き換えは、ＳＡＭモジュール８の管理者のみが行える。
【００４５】
ＡＰ管理用テーブルデータ３００＿１，３００＿２，３００＿３は、アプリケーションプログラムＡＰ毎に規定されている。
また、ＡＰＰテーブルデータ３０１＿１，３０１＿２，３０１＿３は、ＳＡＭ相互認証鍵データ毎に規定されている。
【００４６】
図１１は、ＡＰ管理用テーブルデータ３００＿１を説明するための図である。
ＡＰ管理用テーブルデータ３００＿２，３００＿３も、ＡＰ管理用テーブルデータ３００＿１と同じフォーマットを有している。
図１１に示すように、ＩＣカード操作用マクロコマンドスクリプトプログラム内で用いられる参照されるアプリケーションエレメントデータＡＰＥの名前ＡＰＥ＿Ｎのそれぞれについて、識別データＡＰＥ＿ＩＤ、内部／外部指定データＩＥＩ、識別データＳＡＭ＿ＩＤ、識別データＡＰ＿ＩＤ、鍵データＫ＿ＣＡＲＤＡ、鍵データＫ＿ＳＡＭ、データＳＥＴ＿ＡＰＰ、データＦＬＡＧ＿ＩＰおよびデータＦＬＡＧ＿ＳＴＲを対応付けて示している。
アプリケーションエレメントデータＡＰＥの名前ＡＰＥ＿Ｎは、サービス事業者１５＿１，１５＿２，１５＿３のアプリケーションプログラムによって提供されるサービス（アプリケーションエレメントデータＡＰＥ）に付けられた名前である。名前ＡＰＥ＿Ｎは、各サービス事業者のアプリケーションプログラムが使用できるサービスのサービス番号の替わりに参照される識別子である。
【００４７】
ここで、識別データＡＰＥ＿ＩＤは、アプリケーションエレメントデータＡＰＥの識別データである。
内部／外部指定データＩＥＩは、ＡＰＥが実体として存在するのか（内部指定）、あるいは他のＳＡＭから参照するのか（外部指定）を区別するフラグである。
識別データＳＡＭ＿ＩＤは、ＳＡＭモジュール８が当該アプリケーションエレメントデータＡＰＥに係わる処理を行う際にデータ授受を行う相手側のＳＡＭの識別データである。
図１２は、ＳＡＭ＿ＩＤを説明するための図である。
ＳＡＭ＿ＩＤは、４バイトのデータであり、ＴＣＰ／ＩＰに類似したネットマスクの概念を有している。ネットマスクはビット単位での設定が可能である。
例えば、当該ネットマスクは、図１２に示すように、Ａクラス、ＢクラスおよびＣクラスの３種類に分類される。そして、同一のネットマスクが割り当てられたＳＡＭ相互間では、相互認証に使用する鍵データは１種類でよい。本実施形態では、例えば、同一のサービス事業者に同一のネットマスクが割り当てられる。
図１２において、Ａクラスのネットマスクは、「２５５．ＸＸ．ＸＸ．ＸＸ」で示され、上位１バイトに当該クラスを特定するための所定の値が割り当てられ、下位３バイトに、当該クラスに属する個々のＳＡＭを特定するための値が割り当てられる。ここで、「ＸＸ」には任意の値を設定できる。すなわち、Ａクラスのネットマスクによって、当該Ａクラスに属する１６７７７２１５個のＳＡＭ＿ＩＤを規定できる。
また、Ｂクラスのネットマスクは、「２５５．２５５．ＸＸ．ＸＸ」で示され、上位２バイトに当該クラスを特定するための所定の値が割り当てられ、下位２バイトに、当該クラスに属する個々のＳＡＭを特定するための値が割り当てられる。すなわち、Ｂクラスのネットマスクによって、当該Ｂクラスに属する６５５３５個のＳＡＭ＿ＩＤを規定できる。
また、Ｃクラスのネットマスクは、「２５５．２５５．２５５．ＸＸ」で示され、上位３バイトに当該クラスを特定するための所定の値が割り当てられ、下位１バイトに、当該クラスに属する個々のＳＡＭを特定するための値が割り当てられる。すなわち、Ｃクラスのネットマスクによって、当該Ｃクラスに属す２５５個のＳＡＭ＿ＩＤを規定できる。
【００４８】
識別データＡＰ＿ＩＤは、ＳＡＭモジュール８が当該アプリケーションエレメントデータＡＰＥに係わる処理を行う際にデータ授受を行う相手側のＳＡＭで実行されるアプリケーションプログラムの識別データである。
鍵データＫ＿ＣＡＲＤＡは、ＳＡＭモジュール８が当該アプリケーションエレメントデータＡＰＥに係わる処理を行う際にＩＣカード３のメモリ５０とデータ授受を行うために用いられる鍵データである。
【００４９】
鍵データＫ＿ＳＡＭは、ＳＡＭモジュール８が当該アプリケーションエレメントデータＡＰＥに係わる処理を行う際に、他のＳＡＭとデータ授受を行うために用いられる鍵データである。
データＳＥＴ＿ＡＰＰは、ＳＡＭモジュール８が当該アプリケーションエレメントデータＡＰＥに係わる処理を行う際に用いられる（参照される）ＡＰＰテーブルデータ３０１＿１，３０１＿２，３０１＿３を特定するためのデータである。
【００５０】
図１１において、ＡＰＥ＿Ｎ「ＳｅｒｖｉｃｅＡ」は、該当ＳＡＭ８内のアプリケーションプログラムで定義されたＩＣカード３のアクセス鍵である。「ＳｅｒｖｉｃｅＡ」の鍵データは非公開に設定しているため、他のＳＡＭ上のアプリケーションプログラムや本ＳＡＭ上の他のアプリケーションプログラムは、参照することができない。
また、「ＳｅｒｖｉｃｅＣ」は、本アプリケーションプログラムで定義されたＩＣカード３のアクセス鍵である。本ＳＡＭに後述するＣクラスのネットマスクが割り当てられている場合には、「ＳｅｒｖｉｃｅＣ」の鍵データは「４３．１７．１９．ＸＸ」のＳＡＭ＿ＩＤを持つＳＡＭ上のアプリケーションプログラムに公開される。この際ＳＡＭ相互認証用鍵は「ＴＴ１…．ＴＴｎ」、また他のＳＡＭが「ＳｅｒｖｉｃｅＣ」の鍵データを次回利用時まで保持可能かの可否を決定する。可の場合には、他のＳＡＭがカード上の「ＳｅｒｖｉｃｅＣ」を次回利用するときに、本ＳＡＭから再度カードアクセス鍵を入手する必要は無い。ＳｅｒｖｉｃｅＢのアクセス鍵は本ＳＡＭではなく、「４３．１３．１３７．ＸＸ」のＳＡＭ＿ＩＤを持つＳＡＭから入手する。ＳＡＭ間の相互認証用鍵として「ＳＳ１…ＳＳｎ」を使用する。
「ＳｅｒｖｉｃｅＢ」のアクセス鍵を次回利用時まで保持可能の有無は先方のＳＡＭが指定する可否フラグにより決定する。
「ＳｅｒｖｉｃｅＢ  Ｌｏｇ」は、「４３．１３．１３７．ＸＸ」のＳＡＭ＿ＩＤが割り当てられたログデータが格納されたファイルを指す。「ＳｅｒｖｉｃｅＢ  Ｌｏｇ」は、「ＳｅｒｖｉｃｅＢ」と同一ＳＡＭネットマスクであるため、相互認証用鍵は「ＳＳ１…ＳＳｎ」を使用する。ここで、相互認証鍵毎にＡＰＰテーブルデータが設けられている。本例では、「ＳｅｒｖｉｃｅＢ  ｌｏｇ」および「ＳｅｒｖｉｃｅＢ」へのアクセス許可は他のＳＡＭ上のＡＰ管理用テーブルデータが参照する他のＳＡＭのＡＰＰテーブルデータ３０１で規定されている。
【００５１】
図１３は、ＡＰＰテーブルデータ３０１＿１を説明するための図である。
ＡＰＰテーブルデータ３０１＿２，３０１＿３、３０１は、ＡＰＰテーブルデータ３０１＿１と同じフォーマットを有している。
図１３に示すように、ＡＰＰテーブルデータ３０１＿１は、各アプリケーションエレメントデータＡＰＥについて、その識別データＡＰＥ＿ＩＤと、当該アプリケーションエレメントデータＡＰＥに対して他のアプリケーションプログラム（他のアプリケーションエレメントデータＡＰＥ）から読み出し（ＲＥＡＤ）、書き込み（ＷＲＩＴＥ）および実行（ＥＸＣＵＴＥ）が可能であるか否かを示している。
【００５２】
例えば、図１３に示すＡＰＰテーブルデータ３０１＿１は、「ＳｅｒｖｉｃｅＢ  ｌｏｇ」については読取りが可、書込みが可、実行（削除）が不可を示している。
【００５３】
また、図５に示す外部メモリ７のＡＰ管理用記憶領域２２１は、例えば、ＩＣカード種別データとＡＰ＿ＩＤとを対応付けて示すＡＰ選択用データを記憶している。
ＩＣカード種別データは、図１に示すＩＣカード３の種別を示し、例えば、ＩＣカード３を用いた取り引きの決済を行うクレジットカード会社の識別データである。
【００５４】
本実施形態では、ＩＣカード操作用マクロコマンドスクリプトプログラム内に複数のアプリケーションエレメントデータＡＰＥの名前ＡＰＥ＿Ｎを組み合せたサービス内容を規定（記述）し、これを後述するＩＣカードエンティティデータ（ジョブ管理用データ）に反映させることで、複数のアプリケーションエレメントデータＡＰＥに対応するサービスを組み合わせたサービスを提供できる。
例えば、ＩＣカード３からデータ読出しを行うサービスと、サーバ装置２にデータ書込みを行うサービスとを組み合わせたサービスを、ＩＣカードエンティティデータ内に定義できる。
【００５５】
また、ＡＰＥ＿Ｎあるいはそのサービス番号は、サービス事業者１５＿１，１５＿２，１５＿３によって提供されるサービスを行う際に、ＩＣカード３に発行するＩＣカード３が解釈可能な操作コマンドである。
【００５６】
アプリケーションプログラムＡＰ＿１は、外部メモリ７に記憶されたＡＰ管理用テーブルデータ３００＿１および所定のＩＣカード操作用マクロコマンドスクリプトプログラムによって規定される。
アプリケーションプログラムＡＰ＿２は、外部メモリ７に記憶されたＡＰ管理用テーブルデータ３００＿２および所定のＩＣカード操作用マクロコマンドスクリプトプログラムによって規定される。
アプリケーションプログラムＡＰ＿３は、外部メモリ７に記憶されたＡＰ管理用テーブルデータ３００＿３および所定のＩＣカード操作用マクロコマンドスクリプトプログラムによって規定される。
【００５７】
〔ＳＡＭモジュール８〕
ＳＡＭモジュール８は、ＳＣＳＩまたはＥｔｈｅｒｎｅｔなどを介してＡＳＰサーバ装置１９に接続される。ＡＳＰサーバ装置１９は、インターネット１０を介して、エンドユーザのパーソナルコンピュータ５、サービス事業者１５＿１，１５＿２，１５＿３のパーソナルコンピュータ１６＿１，１６＿２，１６＿３を含む複数の端末装置に接続される。
パーソナルコンピュータ５は、例えば、シリアルまたはＵＳＢを介してＤｕｍｂ型のカードリーダ・ライタ４に接続されている。カードリーダ・ライタ４が、ＩＣカード３との間で物理レベルに相当する例えば無線通信を実現する。
ＩＣカード３への操作コマンドおよびＩＣカード３からのリスポンスパケットは、ＳＡＭユニット９側で生成および解読される。よって、その中間に介在するカードリーダ・ライタ４、パーソナルコンピュータ５およびＡＳＰサーバ装置１９は、コマンドやリスポンス内容をデータペイロード部分に格納して中継する役割を果たすのみで、ＩＣカード３内のデータの暗号化や復号および認証などの実操作には関与しない。
【００５８】
パーソナルコンピュータ１６＿１，１６＿２，１６＿３は、後述するスクリプトプログラムをＳＡＭモジュール８にダウンロードすることで、それぞれアプリケーションプログラムＡＰ＿１，ＡＰ＿２，ＡＰ＿３をカスタマイズできる。
【００５９】
図１４は、図１に示すＳＡＭモジュール８の機能ブロック図である。
図１４に示すように、ＳＡＭモジュール８は、ＡＳＰＳ通信インタフェース部６０、外部メモリ通信インタフェース部６１、バススクランブル部６２、乱数発生部６３、暗号・復号部６４、メモリ６５およびＣＰＵ６６を有する。
ＳＡＭモジュール８は、耐タンパ性のモジュールである。
【００６０】
ＡＳＰＳ通信インタフェース部６０は、図１に示すＡＳＰサーバ装置１９との間のデータ入出力に用いられるインタフェースである。
外部メモリ通信インタフェース部６１は、外部メモリ７との間のデータ入出力に用いられるインタフェースである。
バススクランブル部６２は、外部メモリ通信インタフェース部６１を介してデータを入出力する際に、出力するデータをスクランブルし、入力したデータをデスクランブルする。
乱数発生部６３は、認証処理を行う際に用いられる乱数を発生する。
暗号・復号部６４は、データの暗号化、並びに暗号化されたデータの復号を行う。
メモリ６５は、後述するように、ＣＰＵ６６によって用いられるタスク、プログラム、並びにデータを記憶する。
ＣＰＵ６６は、後述するスクリプトダウンロードタスク、スクリプト解釈タスク、エンティティ生成タスク（ジョブ管理用データ作成タスク）およびＩＣカード手続管理タスク（ジョブ管理用データ管理タスク）などのタスクを実行する。
ＣＰＵ６６は、ＳＡＭユニット９内での操作コマンドに基づいてＳＡＭユニット９内で規定された処理を行い、ＩＣカード３のＩＣモジュール３ａおよび携帯通信装置４１のＩＣモジュール４２の操作コマンドとに基づいて、ＩＣモジュール３ａおよびＩＣモジュール４２の処理を制御する。
ＣＰＵ６６は、メモリ６５に記憶されたプログラムに基づいて後述するバックアップ・リストア処理、及び認証処理を行う。
【００６１】
以下、メモリ６５に記憶されるタスク、プログラムおよびデータについて説明する。
図１５は、メモリ６５に記憶されるタスク、プログラムおよびデータを説明するための図である。
図１５に示すように、スクリプトダウンロードタスク６９、スクリプト解釈タスク７０、エンティティ生成タスク７１、ＩＣカード手続管理用タスク７２、ＩＣカード操作用マクロコマンドスクリプトプログラム２１＿１〜２１＿３、ＡＰ管理用テーブルデータ３００＿１〜３００＿３、ＡＰＰテーブルデータ３０１＿１〜３０１＿３、ＩＣカードエンティティテンプレートデータ３０＿１〜３０＿３、ＩＣカードエンティティデータ７３＿ｘ、入力用データブロック３１＿ｘ１、出力用データブロック３２＿ｘ２、ログ用データブロック３３＿ｘ３、並びに演算定義用データブロック３４＿ｘ４を記憶している。
【００６２】
スクリプトダウンロードタスク６９は、図９に示すように、ＡＰ管理用テーブルデータ３００＿１〜３００＿３（必要に応じてＡＰＰテーブルデータ３０１＿１〜３０１＿３）を、例えば、各サービス事業者のコンピュータからダウンロードし、これをＳＡＭモジュール８に取り込む。
【００６３】
スクリプト解釈タスク７０は、各サービス事業者毎に、サービス定義テーブルデータ（必要に応じてＡＰＰテーブルデータ３０１＿１〜３０１＿３）およびスクリプトプログラムを用いて、ＩＣカードエンティティテンプレートデータ、入力用データブロック、出力用データブロック、ログ用データブロックおよび演算定義用データブロックを生成する。
各サービス事業者毎に生成されるデータブロックの数は特に限定されない。
【００６４】
エンティティ生成タスク７１は、例えば、ＡＳＰサーバ装置１９からエンティティ作成要求を受けると、ＩＣカード３との間でポーリングを行った後に、当該ＩＣカード３とサービス事業者との間の手続き処理に用いるＩＣカードエンティティデータを、当該サービス事業者に対応するＩＣカードエンティティテンプレートデータを用いて生成する。このとき、ＩＣカードエンティティテンプレートデータがクラスとなり、当該クラスのインスタンスとして、ＩＣカードエンティティデータが生成される。
エンティティ生成タスク７１によるＩＣカードエンティティデータの生成処理について後に詳細に説明する。
【００６５】
ＩＣカード手続管理用タスク７２は、メモリ６５内に存在する単数または複数のＩＣカードエンティティデータ７３＿ｘを用いて、ＩＣカード３とサービス事業者１５＿１〜１５＿３との間の手続き処理を実行する。
本実施形態では、複数のＩＣカード３とサービス事業者１５＿１〜１５＿３との間で行われる複数の手続き処理が同時に進行する。
ＩＣカード手続管理用タスク７２は、これら複数の手続き処理を並行して実行する。
ＩＣカード手続管理用タスク７２は、一連の手続きを終了したＩＣカードエンティティデータ７３＿ｘを消去する。
ＩＣカード手続管理用タスク７２の処理については後に詳細に説明する。
【００６６】
スクリプトプログラム２１＿１〜２１＿２は、スクリプトダウンロードタスク６９によって、例えば、外部メモリ７から入力され、メモリ６５に記憶される。
ＡＰ管理用テーブルデータ３００＿１〜３００＿３は、スクリプトダウンロードタスク６９によって、例えば、外部メモリ７から入力され、メモリ６５に記憶される。
ＡＰＰテーブルデータ３０１＿１〜３０１＿３は、スクリプトダウンロードタスク６９によって、例えば、外部メモリ７から入力され、メモリ６５に記憶される。
【００６７】
ＩＣカードエンティティテンプレートデータ３０＿１〜３０＿３は、スクリプト解釈タスク７０によって生成され、それぞれのサービス事業者に関する手続きのＩＣカードエンティティデータ７３＿ｘを生成する際のテンプレート（クラス）として用いられる。
ＩＣカードエンティティデータ７３＿ｘは、エンティティ生成タスク７１によって、ＩＣカードエンティティテンプレートデータ３０＿１〜３０＿３を例えばクラスとして用い、当該クラスのインスタンスとして生成される。
【００６８】
入力用データブロック３１＿ｘ１、出力用データブロック３２＿ｘ２、ログ用データブロック３３＿ｘ３および演算定義用データブロック３４＿ｘ４は、スクリプト解釈タスク７０によって生成される。
【００６９】
以下、ＩＣカードエンティティデータ７３＿ｘについて説明する。
ＩＣカードエンティティデータ７３＿ｘは、例えば、ＡＳＰサーバ装置１９からＩＣカード３と所定のサービス事業者のアプリケーションプログラムを用いた処理の処理要求をＳＡＭモジュール８が受けたときに、ＳＡＭモジュール８内のエンティティ生成タスク７１が、既に生成されている対応するサービス事業者のＩＣカードエンティティプレートデータを用いて生成する。
【００７０】
図１６は、ＩＣカードエンティティデータ７３＿ｘのフォーマットを説明するための図である。
図１６に示すように、ＩＣカードエンティティデータ７３＿ｘは、管理用ポインタデータ８０、エンティティＩＤデータ８１、ＩＣカード３に関する手続きの進行状態を示すエンティティステータスデータ（ステータスデータ）８２、当該ＩＣカード３を発行したサービス事業者を特定するＩＣカード種別データ８３、ＩＣカードエンティティデータ７３＿ｘを用いた処理で利用するＡＰＥを指定するＡＰＥ＿Ｎ指定データ８４、サービス（ジョブ）の実行順番を示す処理順番データ８５、処理前データ８６、並びに処理結果のデータを示す処理後データ８７を有する。
【００７１】
以下、図１５に示すＩＣカード手続管理用タスク７２による、複数のＩＣカードエンティティデータ７３＿ｘを用いて、複数のＩＣカード３に係わる処理を行う手順を説明する。
ＩＣカード手続管理用タスク７２は、例えば、図１４に示すＳＡＭモジュール８のＣＰＵ６６上で常に起動されている。
図１７は、ＩＣカード手続管理用タスク７２が行う処理のフローチャートである。
ステップＳＴ１：
ＩＣカード手続管理用タスク７２は、メモリ６５内に存在する複数のＩＣカードエンティティデータ７３＿ｘのうち、次に処理を実行する一つのＩＣカードエンティティデータ７３＿ｘを選択する。
当該ＩＣカードエンティティデータ７３＿ｘの選択方法は、メモリ６５内に存在するＩＣカードエンティティデータ７３＿ｘを順番に選択してもよいし、優先順位を付けて高い優先順位のものを優先的に選択してもよい。
【００７２】
ステップＳＴ２：
ＩＣカード手続管理用タスク７２は、ステップＳＴ１で選択したＩＣカードエンティティデータ７３＿ｘのジョブが既に起動されているか否かを判断し、起動されていると判断した場合にはステップＳＴ５の処理に進み、起動されていないと判断した場合にはステップＳＴ３の処理に進む。
【００７３】
ステップＳＴ３：
ＩＣカード手続管理用タスク７２は、ステップＳＴ１で選択したＩＣカードエンティティデータ７３＿ｘの図１６に示すエンティティステータスデータ８２から、当該エンティティデータに関する処理が状態遷移の何れの状態にあるかを判断し、処理順番データ８５から、次に実行するジョブを決定する。
このとき処理順番データ８５には、前述したように、ＡＰ管理用テーブルデータ３００＿１〜３００＿３に設定されたサービスエレメントを用いてジョブの実行順番が規定されている。
【００７４】
ステップＳＴ４：
ＩＣカード手続管理用タスク７２は、ステップＳＴ３で選択したジョブを起動する。
ＩＣカード手続管理用タスク７２は、図９を用いて前述した入力用データブロック３１＿ｘ１、出力用データブロック３２＿ｘ２、ログ用データブロック３３＿ｘ３および演算定義用データブロック３４＿ｘ４のうち、当該ジョブに関係するデータブロックを用いて当該ジョブを実行する。
【００７５】
このとき、ＩＣカード手続管理用タスク７２は、ジョブの実行に当たってＩＣカード３にコマンドを発行する場合に、当該ジョブに対応するサービスエレメントをキーとしてＡＰ管理用テーブルデータ３００＿１〜３００＿３を検索し、当該サービスエレメントに対応するサービス番号（ＩＣカード３が解釈可能なＩＣカード３の操作コマンド）を得る。そして、ＩＣカード手続管理用タスク７２は、当該得られたサービス番号を用いてＩＣカード３にコマンドを発行する。
また、ＩＣカード手続管理用タスク７２は、ＩＣカード３のＩＣモジュール３ａの記憶領域へのアクセスに鍵データが必要な場合には、当該ジョブに対応するサービスエレメントをキーとしてＡＰ管理用テーブルデータ３００＿１〜３００＿３を検索し、当該サービスエレメントに対応する鍵データを得る。そして、ＩＣカード手続管理用タスク７２は、当該鍵データを用いて、ＩＣカード３との間で相互認証、データの暗号化および復号などの処理を行い、ＩＣカード３の所定の記憶領域にアクセスを行う権限を得る。
【００７６】
ステップＳＴ５：
ステップＳＴ５が行われるのは、ＩＣカード手続管理用タスク７２が、ＩＣカード３にコマンドを発行し、ＩＣカード３の処理結果を待っているときである。
ＩＣカード手続管理用タスク７２は、ＩＣカード３から処理結果を受け取ると、これをＩＣカードエンティティデータ７３＿ｘに設定する。
【００７７】
ステップＳＴ６：
ＩＣカード手続管理用タスク７２は、図１６に示すＩＣカードエンティティデータ７３＿ｘのエンティティステータスデータ８２を更新する。
【００７８】
このように、本実施形態では、ＩＣカード手続管理用タスク７２によって、ＳＡＭモジュール８内に存在する複数のＩＣカード３についてのＩＣカードエンティティデータ７３＿ｘを順に選択しながら、複数のＩＣカード３についての処理を並行して行う。そのため、ＳＡＭモジュール８は、複数のＩＣカード３を用いた手続きの処理要求を受けた場合でも、これらの処理を同時に進行することができる。
また、ＳＡＭモジュール８は、上述した図１７のステップＳＴ４におけるジョブの実行時に、前述したＳＡＭモジュール８がアプリケーションエレメントデータＡＰＥに規定された手順に従って、ＩＣカード３との間でデータ授受を行う場合には、図１３に示すＡＰ管理用テーブルデータ３００＿１〜３００＿３を参照して、当該アプリケーションエレメントデータＡＰＥに対応する鍵データＫ＿ＣＡＤＲを取得し、当該鍵データＫ＿ＣＡＲＤを用いて、ＩＣカード３のメモリ５０にアクセスを行う。
【００７９】
以下、ＳＡＭユニット９のＳＡＭモジュール８の内部状態を説明する。
図１８は、ＳＡＭモジュール８の内部状態を説明するための図である。
図１８に示すように、ＳＡＭモジュール８は、内部状態として、電源オフ状態６０１、ハードウェアチェック状態６０２、論理チェック状態６０３、Ａｄｍｉｎ状態６０４、アイドル状態６０５、ＡＰスタンバイ状態６０６、初期化状態６０７、ＡＰ実行状態６０８、並びにＡＰ設定状態６０９を有する。
ＳＡＭモジュール８は、ハードウェアチェック状態６０２で、ＳＡＭモジュール８のハードウェアの所定の項目をチェックする。
ＳＡＭモジュール８は、論理チェック状態６０３で、アプリケーションエレメントデータＡＰＥをアクティブ状態にする。
ＳＡＭモジュール８が、Ａｄｍｉｎ状態６０４で、ファイアウォ−ルのダウンロード、ＳＡＭユニット９のＩＰアドレスなどのネットワーク設定、ＳＡＭ＿ＩＤの設定および取得、自己診断、障害時記録、並びに時刻設定などを行う。
【００８０】
また、ＳＡＭモジュール８は、電源ＯＦＦ・電源断コマンドによって、アイドル状態６０５から電源オフ状態６０１に切り換わる。
ＳＡＭユニット９は、ＡＰスタンバイ状態６０６で、ＳＡＭ＿ＩＤの設定および取得、自己診断、障害時記録、並びに時刻設定などを行う。
また、ＳＡＭユニット９は、アクティブＡＰコマンドによって、ＡＰスタンバイ状態６０６から論理チェック状態６０３に切り換わる。
ＳＡＭユニット９は、出荷時専用モードで、初期化状態６０７になる。
また、ＳＡＭユニット９は、ＡＰ実行状態６０８で、ＩＣカード処理、ログ集信、ネガ配信、自己診断、障害時記録、時刻設定、並びにＳＡＭ＿ＩＤの取得などを行う。
ＳＡＭユニット９は、モード遷移専用コマンドによって、ＡＰスタンバイ状態６０６とＡＰ実行状態６０８との間を切り換える。
ＳＡＭユニット９は、ＡＰ設定状態６０９で、ＡＰリソースバッケージの転送、自己診断、障害時記録、自己診断項目・レベルの設定、障害時記録項目の設定、時刻設定、並びにＳＡＭ＿ＩＤの取得などを行う。
また、ＳＡＭモジュール８は、モード遷移専用コマンドによって、Ａｄｍｉｎ状態６０４とＡＰスタンバイ状態６０６との間、並びに、ＡＰスタンバイ状態６０６とＡＰ設定状態６０９との間を切り換える。
【００８１】
以下、上述したＳＡＭユニット９が、外部メモリ７に格納したアプリケーションプログラムＡＰを他のコンピュータ（バックアップ先の装置）にバックアップする場合の処理を説明する。
図１９は、ＳＡＭユニット９のバックアプ先のコンピュータ５００を説明するための図である。
図１９に示すように、コンピュータ５００は、インタフェース５０１、メモリ５０２、ＣＰＵ５０３を有する。
コンピュータ５００およびＳＡＭユニット９は、図６および図７に示すアプリケーションプログラムＡＰ内のヘッダデータＨＥＡＤＥＲのＡＰＥ＿ＩＤ、フラグ１およびフラグ２によって、以下に示す、第１〜第４のバックアップ・リストア手法の何れに基づいて処理を行うかを決定する。
【００８２】
〔第１のバックアップ・リストア手法〕
図２０は、第１のバックアップ・リストア手法を説明するための図である。
当該第１のバックアップ・リストア手法は、第１〜第３の発明に対応した実施形態である。
図２１は、図２０に示す第１のバックアップ手法の手順を示すフローチャートである。
ステップＳＴ１０１：
図２０に示すように、ＳＡＭユニット９のバックアップ時に、図１４に示すＳＡＭモジュール８のＣＰＵ６６が、外部メモリ７から、バックアップ対象のアプリケーションエレメントデータＡＰＥの実体と設定データ５１２とを読み出す。
ステップＳＴ１０２：
ＳＡＭモジュール８のＣＰＵ６６が、当該読み出したアプリケーションエレメントデータＡＰＥの実体と設定データ５１２を、ＡＰリソース鍵データＫ＿ＡＰＲで暗号化する。
ステップＳＴ１０３：
ＳＡＭモジュール８のＣＰＵ６６が、ヘッダデータＨＥＡＤＥＲと、上記暗号化されたアプリケーションエレメントデータＡＰＥの実体と、上記暗号化された設定データ５１２とを格納したバックアップパッケージＢＰＫを生成する。
【００８３】
ステップＳＴ１０４：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１０３で生成したバックアップパッケージＢＰＫを、所定のインタフェースを介して図１４に示すコンピュータ５００に出力する。
ステップＳＴ１０５：
コンピュータ５００は、ＣＰＵ５０３の制御に基づいて、図１９に示すインタフェース５０１を介してバックアップパッケージＢＰＫを入力し、これをメモリ５０２に格納する。
【００８４】
図２２は、上述した第１のバックアップ手法に対応した第１のリストア手法の手順を説明するためのフローチャートである。
ステップＳＴ１１１：
コンピュータ５００が、ＣＰＵ５０３の制御に基づいて、メモリ５０２から、ヘッダデータＨＥＡＤＥＲと、ＡＰリソース鍵データＫ＿ＡＰＲで暗号化されたリストア対象のアプリケーションエレメントデータＡＰＥの実体と、ＡＰリソース鍵データＫ＿ＡＰＲで暗号化された設定データ５１２とを読み出す。
ステップＳＴ１１２：
コンピュータ５００が、ステップＳＴ１１１で読み出したヘッダデータＨＥＡＤＥＲと、アプリケーションエレメントデータＡＰＥの実体と、設定データ５１２とを格納したリストアパッケージＲＰＫを生成する。
【００８５】
ステップＳＴ１１３：
コンピュータ５００が、ステップＳＴ１１２で生成したリストアパッケージＲＰＫをＳＡＭモジュール８に出力する。
ＳＡＭモジュール８のＣＰＵ６６が、所定のインタフェースを介して、リストアパッケージＲＰＫを入力する。
ステップＳＴ１１４：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１１３で入力したリストアパッケージＲＰＫに格納されたアプリケーションエレメントデータＡＰＥおよび設定データ５１２を、ＡＰリソース鍵データＫ＿ＡＰＲを用いて復号する。
ステップＳＴ１１５：
ＳＡＭモジュール８のＣＰＵ６６が、ヘッダデータＨＥＡＤＥＲ、ステップＳＴ１１４で復号したアプリケーションエレメントデータＡＰＥおよび設定データ５１２を、外部メモリ７に書き込む。
【００８６】
〔第２のバックアップ・リストア手法〕
図２３は、第２のバックアップ・リストア手法を説明するための図である。
当該第２のバックアップ・リストア手法は、第４〜第６の発明に対応した実施形態である。
図２４は、図２３に示す第２のバックアップ手法の手順を示すフローチャートである。
ステップＳＴ１２１：
図２３に示すように、ＳＡＭユニット９のバックアップ時に、図１４に示すＳＡＭモジュール８のＣＰＵ６６が、外部メモリ７から、バックアップ対象のアプリケーションエレメントデータＡＰＥに対応する設定データ５１２を読み出す。
ステップＳＴ１２２：
ＳＡＭモジュール８のＣＰＵ６６が、当該読み出した設定データ５１２を、ＡＰリソース鍵データＫ＿ＡＰＲで暗号化する。
ステップＳＴ１２３：
ＳＡＭモジュール８のＣＰＵ６６が、ヘッダデータＨＥＡＤＥＲと、上記暗号化された設定データ５１２とを格納したバックアップパッケージＢＰＫを生成する。
【００８７】
ステップＳＴ１２４：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１２３で生成したバックアップパッケージＢＰＫを、所定のインタフェースを介して図１４に示すコンピュータ５００に出力する。
ステップＳＴ１２５：
コンピュータ５００は、ＣＰＵ５０３の制御に基づいて、図１９に示すインタフェース５０１を介してバックアップパッケージＢＰＫを入力し、これをメモリ５０２に格納する。
【００８８】
図２５は、上述した第２のバックアップ手法に対応した第２のリストア手法の手順を説明するためのフローチャートである。
ステップＳＴ１３１：
コンピュータ５００が、ＣＰＵ５０３の制御に基づいて、メモリ５０２から、ヘッダデータＨＥＡＤＥＲと、リストア対象のアプリケーションエレメントデータＡＰＥに対応した、ＡＰリソース鍵データＫ＿ＡＰＲで暗号化された設定データ５１２とを読み出す。
ステップＳＴ１３２：
コンピュータ５００が、ステップＳＴ１３１で読み出したヘッダデータＨＥＡＤＥＲと、設定データ５１２とを格納したリストアパッケージＲＰＫを生成する。
【００８９】
ステップＳＴ１３３：
コンピュータ５００が、ステップＳＴ１３２で生成したリストアパッケージＲＰＫをＳＡＭモジュール８に出力する。
ＳＡＭモジュール８のＣＰＵ６６が、所定のインタフェースを介して、リストアパッケージＲＰＫを入力する。
ステップＳＴ１３４：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１３３で入力したリストアパッケージＲＰＫに格納された設定データ５１２を、ＡＰリソース鍵データＫ＿ＡＰＲを用いて復号する。
ステップＳＴ１３５：
ＳＡＭモジュール８のＣＰＵ６６が、ヘッダデータＨＥＡＤＥＲ、ステップＳＴ１１４で復号した設定データ５１２を、外部メモリ７に書き込む。
【００９０】
ステップＳＴ１３６：
図１９に示すコンピュータ５００のＣＰＵ５０３が、インタフェース５０１を介してＳＡＭモジュール８に、内部生成コマンドを出力する。
ステップＳＴ１３７：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１３６で内部生成コマンドを入力すると、ヘッダデータＨＥＡＤＥＲに基づいて、ステップＳＴ１３５で書き込んだ設定データ５１２に対応するアプリケーションエレメントデータＡＰＥを内部生成する。
当該内部生成は、予め規定された所定の手順に基づいて実行される。
ステップＳＴ１３８：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１３７で内部生成したアプリケーションエレメントデータＡＰＥを、外部メモリ７に書き込む。
【００９１】
〔第３のバックアップ・リストア手法〕
図２６は、第３のバックアップ・リストア手法を説明するための図である。
当該第３のバックアップ・リストア手法は、第７〜第９の発明に対応した実施形態である。
図２７は、図２６に示す第３のバックアップ手法の手順を示すフローチャートである。
ステップＳＴ１４１：
図２７に示すように、ＳＡＭユニット９のバックアップ時に、図１４に示すＳＡＭモジュール８のＣＰＵ６６が、外部メモリ７から、バックアップ対象のアプリケーションエレメントデータＡＰＥに対応する設定データ５１２を読み出す。
ステップＳＴ１４２：
ＳＡＭモジュール８のＣＰＵ６６が、当該読み出した設定データ５１２を、ＡＰリソース鍵データＫ＿ＡＰＲで暗号化する。
ステップＳＴ１４３：
ＳＡＭモジュール８のＣＰＵ６６が、ヘッダデータＨＥＡＤＥＲと、上記暗号化された設定データ５１２とを格納したバックアップパッケージＢＰＫを生成する。
【００９２】
ステップＳＴ１４４：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１２３で生成したバックアップパッケージＢＰＫを、所定のインタフェースを介して図１４に示すコンピュータ５００に出力する。
ステップＳＴ１４５：
コンピュータ５００は、ＣＰＵ５０３の制御に基づいて、図１９に示すインタフェース５０１を介してバックアップパッケージＢＰＫを入力し、これをメモリ５０２に格納する。
【００９３】
図２８は、上述した第３のバックアップ手法に対応した第３のリストア手法の手順を説明するためのフローチャートである。
ステップＳＴ１５１：
コンピュータ５００が、ＣＰＵ５０３の制御に基づいて、メモリ５０２から、ヘッダデータＨＥＡＤＥＲと、リストア対象のアプリケーションエレメントデータＡＰＥに対応した、ＡＰリソース鍵データＫ＿ＡＰＲで暗号化された設定データ５１２とを読み出す。
ステップＳＴ１５２：
コンピュータ５００が、ステップＳＴ１３１で読み出したヘッダデータＨＥＡＤＥＲと、設定データ５１２とを格納したリストアパッケージＲＰＫを生成する。
【００９４】
ステップＳＴ１５３：
コンピュータ５００が、ステップＳＴ１５２で生成したリストアパッケージＲＰＫをＳＡＭモジュール８に出力する。
ＳＡＭモジュール８のＣＰＵ６６が、所定のインタフェースを介して、リストアパッケージＲＰＫを入力する。
ステップＳＴ１５４：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１３３で入力したリストアパッケージＲＰＫに格納された設定データ５１２を、ＡＰリソース鍵データＫ＿ＡＰＲを用いて復号する。
ステップＳＴ１５５：
ＳＡＭモジュール８のＣＰＵ６６が、ヘッダデータＨＥＡＤＥＲ、ステップＳＴ１１４で復号した設定データ５１２を、外部メモリ７に書き込む。
【００９５】
ステップＳＴ１５６：
図１９に示すコンピュータ５００のＣＰＵ５０３が、インタフェース５０１を介してＳＡＭモジュール８に、内部生成コマンドを出力する。
ステップＳＴ１５７：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１３６で内部生成コマンドを入力すると、ヘッダデータＨＥＡＤＥＲに基づいて、ステップＳＴ１３５で書き込んだ設定データ５１２に対応するアプリケーションエレメントデータＡＰＥを図２６に示すＳＡＭユニット９ａに要求する。
これにより、ＳＡＭユニット９ａからＳＡＭユニット９に、所定の暗号鍵データを用いて暗号化された、対応するアプリケーションエレメントデータＡＰＥが出力される。
ステップＳＴ１５８：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１５７で入力したアプリケーションエレメントデータＡＰＥを、上記所定の暗号鍵データを用いて復号した後に、外部メモリ７に書き込む。
【００９６】
〔第４のバックアップ・リストア手法〕
図２９は、第４のバックアップ・リストア手法を説明するための図である。
当該第４のバックアップ・リストア手法は、第７〜第９の発明に対応した実施形態である。
図３０は、図２９に示す第４のバックアップ手法の手順を示すフローチャートである。
ステップＳＴ１６１：
図２３に示すように、ＳＡＭユニット９のバックアップ時に、図１４に示すＳＡＭモジュール８のＣＰＵ６６が、外部メモリ７から、バックアップ対象のアプリケーションエレメントデータＡＰＥに対応する設定データ５１２を読み出す。
ステップＳＴ１６２：
ＳＡＭモジュール８のＣＰＵ６６が、当該読み出した設定データ５１２を、ＡＰリソース鍵データＫ＿ＡＰＲで暗号化する。
ステップＳＴ１６３：
ＳＡＭモジュール８のＣＰＵ６６が、ＳＡＭユニット９ａに、バックアップ対象となるアプリケーションエレメントデータＡＰＥを要求する。
ＳＡＭユニット９ａは、当該要求に応じて、要求対象のアプリケーションエレメントデータＡＰＥを内部メモリから読み出し、これを所定の暗号鍵データを用いて暗号化してＳＡＭモジュール８に出力する。
【００９７】
ステップＳＴ１６４：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１６３で入力したアプリケーションエレメントデータＡＰＥを、上記所定の暗号鍵データを用いて復号し、続いて、当該復号したアプリケーションエレメントデータＡＰＥを、所定のアルゴリズムで生成した新たなＡＰリソース鍵データＫ＿ＡＰＲを用いて暗号化する。
当該新たなＡＰリソース鍵データＫ＿ＡＰＲは、後述するように、ＳＡＭユニット９と９ａとの間で行われる相互認証に用いる相互認証鍵データと、元のＡＰリソース鍵データＫ＿ＡＰＲとを用いて生成されたものである。
【００９８】
ステップＳＴ１６５：
ＳＡＭモジュール８のＣＰＵ６６が、ヘッダデータＨＥＡＤＥＲと、ステップＳＴ１６２で暗号化された設定データ５１２と、ステップＳＴ１６４で暗号化されたアプリケーションエレメントデータＡＰＥとを格納したバックアップパッケージＢＰＫを生成する。
【００９９】
ステップＳＴ１６６：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ１６５で生成したバックアップパッケージＢＰＫを、所定のインタフェースを介して図１４に示すコンピュータ５００に出力する。
ステップＳＴ１６７：
コンピュータ５００は、ＣＰＵ５０３の制御に基づいて、図１９に示すインタフェース５０１を介してバックアップパッケージＢＰＫを入力し、これをメモリ５０２に格納する。
【０１００】
図３１は、上述した第４のバックアップ手法に対応した第４のリストア手法の手順を説明するためのフローチャートである。
ステップＳＴ１７１：
コンピュータ５００が、ＣＰＵ５０３の制御に基づいて、メモリ５０２から、ヘッダデータＨＥＡＤＥＲと、元のＡＰリソース鍵データＫ＿ＡＰＲで暗号化されたリストア対象のアプリケーションエレメントデータＡＰＥと、ＡＰリソース鍵データＫ＿ＡＰＲで暗号化された設定データ５１２とを読み出す。
ステップＳＴ１７２：
コンピュータ５００が、ステップＳＴ１７１で読み出したヘッダデータＨＥＡＤＥＲと、アプリケーションエレメントデータＡＰＥと、設定データ５１２とを格納したリストアパッケージＲＰＫを生成する。
【０１０１】
ステップＳＴ１７３：
コンピュータ５００が、ステップＳＴ１７２で生成したリストアパッケージＲＰＫをＳＡＭモジュール８に出力する。
ＳＡＭモジュール８のＣＰＵ６６が、所定のインタフェースを介して、リストアパッケージＲＰＫを入力する。
ステップＳＴ１７４：
ＳＡＭモジュール８のＣＰＵ６６が、ヘッダデータＨＥＡＤＥＲに基づいて、ステップＳＴ１７３で入力したリストアパッケージＲＰＫに格納されたアプリケーションエレメントデータＡＰＥおよび設定データ５１２を、上述した新たなＡＰリソース鍵データＫ＿ＡＰＲを用いて復号する。
ステップＳＴ１７５：
ＳＡＭモジュール８のＣＰＵ６６が、ヘッダデータＨＥＡＤＥＲ、ステップＳＴ１７４で復号したアプリケーションエレメントデータＡＰＥおよび設定データ５１２を、外部メモリ７に書き込む。
【０１０２】
以下、図３０に示すステップＳＴ１６４におけるＳＡＭユニット９ａからＳＡＭユニット９へのアプリケーションエレメントデータＡＰＥの転送に用いられる新たなＡＰリソース鍵データＫ＿ＡＰＲについて説明する。
図３２は、当該ＡＰリソース鍵データＫ＿ＡＰＲの生成方法を説明するための図である。
図３２に示すように、例えば、ＳＡＭユニット９ａがアプリケーションエレメントデータＡＰＥの暗号化に用いるＡＰリソース鍵データＫ＿ＡＰＲ（Ｋａ）は以下のようにしてＳＡＭユニット９ａ内で生成される。
ステップＳＴ２０１：
元のＡＰリソース鍵データＫ＿ＡＰＲと、図１２を用いて説明したＳＡＭユニット９ａのネットマスクによってマスクされたＳＡＭユニット９ａのＳＡＭ＿ＩＤの値とを用いて、ＤＥＳ(Data Encryption Standard)による暗号化を行う。
ステップＳＴ２０２：
元のＡＰリソース鍵データＫ＿ＡＰＲと、ＳＡＭユニット９ａのＳＡＭ間相互認証鍵Ｋａとを用いて、ＤＥＳによる暗号化を行う。
ステップＳＴ２０３：
ステップＳＴ２０１の結果とステップＳＴ２０２の結果とを用いて、ＤＥＳによる暗号化を行う。
ステップＳＴ２０４：
元のＡＰリソース鍵データＫ＿ＡＰＲとステップＳＴ２０３の結果とを用いてＤＥＳによる暗号化を行い、その結果をＳＡＭユニット９ａの新たなＡＰリソース鍵データＫ＿ＡＰＲ（Ｋａ）とする。
ＳＡＭユニット９ａは、当該新たなＡＰリソース鍵データＫ＿ＡＰＲを用いて、アプリケーションエレメントデータＡＰＥの暗号化を行う。
【０１０３】
また、図３２に示すように、例えば、ＳＡＭユニット９がアプリケーションエレメントデータＡＰＥの復号に用いるＡＰリソース鍵データＫ＿ＡＰＲ（Ｋｂ）は以下のようにしてＳＡＭユニット９内で生成される。
ステップＳＴ２１１：
元のＡＰリソース鍵データＫ＿ＡＰＲと、図１２を用いて説明したＳＡＭユニット９のネットマスクによってマスクされたＳＡＭユニット９ａのＳＡＭ＿ＩＤの値とを用いて、ＤＥＳによる暗号化を行う。
ステップＳＴ２１２：
元のＡＰリソース鍵データＫ＿ＡＰＲと、ＳＡＭユニット９のＳＡＭ間相互認証鍵Ｋｂとを用いて、ＤＥＳによる暗号化を行う。
ステップＳＴ２１３：
ステップＳＴ２１１の結果とステップＳＴ２１２の結果とを用いて、ＤＥＳによる暗号化を行う。
ステップＳＴ２１４：
元のＡＰリソース鍵データＫ＿ＡＰＲとステップＳＴ２１３の結果とを用いてＤＥＳによる暗号化を行い、その結果をＳＡＭユニット９の新たなＡＰリソース鍵データＫ＿ＡＰＲ（Ｋａ）とする。
ＳＡＭユニット９は、当該新たなＡＰリソース鍵データＫ＿ＡＰＲを用いて、ＳＡＭユニット９ａから入力したアプリケーションエレメントデータＡＰＥの復号を行う。
【０１０４】
以下、ＳＡＭユニット９（ＳＡＭモジュール８）が、図６および図７を用いて説明したヘッダデータＨＥＡＤＥＲに基づいて、上述した第２および第４のバックアップ・リストア手法のうち指定された手法を選択を実行する手順を説明する。
図３３は、バックアップ手法の選択実行手順を説明するためのフローチャートである。
ステップＳＴ２５１：
ＳＡＭモジュール８のＣＰＵ６６は、例えば、外部あるいは内部の指示により、バックアップ対象となるアプリケーションプログラムＡＰの識別データＡＰ＿ＩＤ、並びにアプリケーションエレメントデータＡＰＥの識別データＡＰＥ＿ＩＤを決定（指定）する。
ステップＳＴ２５２：
ＳＡＭモジュール８のＣＰＵ６６は、ヘッダデータＨＥＡＤＥＲ内のステップＳＴ２５１で指定されたアプリケーションエレメントデータＡＰＥに対応するフラグ１が「外部」を示し、かつフラグ２が「取得済」を示すか否かを判断し、そうであると判断した場合にはステップＳＴ２５４の処理に進み、そうでないと判断した場合にはステップＳＴ２５３の処理に進む。
【０１０５】
ステップＳＴ２５３：
ＳＡＭモジュール８のＣＰＵ６６は、図２７を用いて前述した第２のバックアップ手法に基づいて、ＡＰリソース鍵データＫ＿ＡＰＲを用いて設定データ５１２を暗号化する。
ステップＳＴ２５４：
ＳＡＭモジュール８のＣＰＵ６６は、図３０を用いて説明した第４のバックアップ手法に基づいて、図３２に示すように独自のアルゴリズムで生成したＡＰリソース鍵データＫ＿ＡＰＲを用いてアプリケーションエレメントデータＡＰＥおよび設定データ５１２を暗号化する。
【０１０６】
ステップＳＴ２５５：
ＳＡＭモジュール８のＣＰＵ６６は、ステップＳＴ２５３で暗号化したデータを格納したバックアップパッケージＢＰＫをコンピュータ５００に出力する。
【０１０７】
図３４は、リストア手法の選択実行手順を説明するためのフローチャートである。
ステップＳＴ２６１：
ＳＡＭモジュール８のＣＰＵ６６は、コンピュータ５００からリストアパッケージＲＰＫを入力する。
ステップＳＴ２５２：
ＳＡＭモジュール８のＣＰＵ６６は、ステップＳＴ２６１で入力したリストアパッケージＲＰＫに格納されたヘッダデータＨＥＡＤＥＲ内のフラグ１，２を検証し、フラグ１が「外部」を示し、かつフラグ２が「取得済」を示すか否かを判断し、そうであると判断した場合にはステップＳＴ２６４の処理に進み、そうでないと判断した場合にはステップＳＴ２６３の処理に進む。
【０１０８】
ステップＳＴ２６３：
ＳＡＭモジュール８のＣＰＵ６６は、図２８を用いて前述した第２のリストア手法に基づいて、ＡＰリソース鍵データＫ＿ＡＰＲを用いて設定データ５１２を暗号化すると共に、アプリケーションエレメントデータＡＰＥを内部生成する。
ステップＳＴ２６４：
ＳＡＭモジュール８のＣＰＵ６６は、図３１を用いて説明した第４のリストア手法に基づいて、図３２に示すように独自のアルゴリズムで生成したＡＰリソース鍵データＫ＿ＡＰＲを用いてアプリケーションエレメントデータＡＰＥおよび設定データ５１２を復号する。
【０１０９】
ステップＳＴ２６５：
ＳＡＭモジュール８のＣＰＵ６６は、ステップＳＴ２６５で得た設定データ５１２およびアプリケーションエレメントデータＡＰＥを外部メモリ７に格納する。
〔ＳＡＭモジュール８の操作者認証処理〕
本実施形態では、ＳＡＭモジュール８の設定などのセキュリティおよび信頼性に係わる操作の主体である操作者を後述するようにして認証する。
また、本実施形態では、前述したバックアップ・リストアを行う場合にも、その操作元の認証を後述するようにして行う。
当該ＳＡＭモジュール８の設定は、図１８に示すＳＡＭモジュール８のＣＰＵ６６の内部状態であるＡＰ設定状態６０９で行われる。
ＳＡＭモジュール８は、ＡＰ設定状態６０９への移行を行う前に操作者（操作元）のＰＩＮによる認証を行う（第１の認証方法）。
その他の例として、ＳＡＭモジュール８は、ＡＰ設定状態６０９に移行した後にＰＩＮによる操作者の認証を行い、その正当性を確認した後に、ＡＰ設定状態６０９で規定されているコマンドを実行する（第２の認証方法）。
【０１１０】
〔第１の認証方法〕
図３５は、ＳＡＭモジュール８のＣＰＵ６６が行う第１の認証方法の手順を説明するためのフローチャートである。
ステップＳＴ３０１：
ＳＡＭ操作者が、ＳＡＭモジュール８を操作する指示を入力するキーボードなどの操作手段を操作して、ＰＩＮ(Personal Identification Number:個人識別番号）を指定して、ＡＰ設定状態６０９へのモード変更コマンド、並びに設定対象とするアプリケーションプログラムＡＰの識別データＡＰ＿ＩＤを入力する。
ステップＳＴ３０２：
ＳＡＭモジュール８のＣＰＵ６６が、上記入力された識別データＡＰ＿ＩＤに関して、ステップＳＴ３０１で指定されたＰＩＮの照合を行い、その正当性を確認することを条件に、その内部状態をＡＰ設定状態６０９に移行する。
ステップＳＴ３０３：
ＳＡＭ操作者が、上記操作手段を操作して、上記アプリケーションプログラムＡＰの設定を行うＡＰ設定用コマンドを入力する。
【０１１１】
ステップＳＴ３０４：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ３０３で入力されたＡＰ設定用コマンドを実行し、上記アプリケーションプログラムＡＰに係わる所定の設定を行い、その結果をディスプレイなどに表示してＳＡＭ操作者に通知する。
ステップＳＴ３０５：
ＳＡＭ操作者が、上記操作手段から、スタンバイコマンドを入力する。
ステップＳＴ３０６：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ３０５で入力したスタンバイコマンドに応じて、その内部状態を図１８に示すＡＰスタンバイ状態６０６に移行し、上述したＰＩＮ照合によるセッションを終了する。
上述したように、第１の認証方法では、ＰＩＮ照合によって設定元の正当性が確認された後でなければＡＰ設定状態６０９に移行しないようにすることで、セキュリティを高めている。
【０１１２】
〔第２の認証方法〕
図３６は、ＳＡＭモジュール８のＣＰＵ６６が行う第２の認証方法の手順を説明するためのフローチャートである。
ステップＳＴ３１１：
ＳＡＭ操作者が、ＳＡＭモジュール８を操作する指示を入力するキーボードなどの操作手段を操作して、ＡＰ設定状態６０９へのモード変更コマンド、並びに設定対象とするアプリケーションプログラムＡＰの識別データＡＰ＿ＩＤを入力する。
ステップＳＴ３１２：
ＳＡＭモジュール８のＣＰＵ６６が、上記アプリケーションプログラムＡＰについて、その内部状態をＡＰ設定状態６０９に移行する。
ステップＳＴ３１３：
ＳＡＭ操作者が、上記操作手段を操作して、ＰＩＮを指定する。
ステップＳＴ３１４：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ３１３で指定されたＰＩＮの照合を行い、その正当性を確認することを条件に、ステップＳＴ３１５に進む。
【０１１３】
ステップＳＴ３１５：
ＳＡＭ操作者が、上記操作手段を操作して、上記アプリケーションプログラムＡＰの設定を行うＡＰ設定用コマンドを入力する。
ステップＳＴ３１６：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ３１４でＰＩＮの正当性が確認されたことを条件に、ステップＳＴ３１５で入力されたＡＰ設定用コマンドを実行し、上記アプリケーションプログラムＡＰに係わる所定の設定を行い、その結果をディスプレイなどに表示してＳＡＭ操作者に通知する。
ステップＳＴ３１７：
ＳＡＭ操作者が、上記操作手段から、スタンバイコマンドを入力する。
ステップＳＴ３１８：
ＳＡＭモジュール８のＣＰＵ６６が、ステップＳＴ３１７で入力したスタンバイコマンドに応じて、その内部状態を図１８に示すＡＰスタンバイ状態６０６に移行し、上述したＰＩＮ照合によるセッションを終了する。
上述したように、第２の認証方法では、ＳＡＭモジュール８が、モード設定コマンドを受けると、ＰＩＮ照合を行わずにＡＰ設定状態６０９に移行するが、その後、ＰＩＮ照合によって設定元の正当性が確認されたことを条件に、入力されたＡＰ設定用コマンドを実行することで、セキュリティを高めている。
【０１１４】
上述したＰＩＮ認証の適用範囲はＡＰ設定状態６０９内のみであり、ＰＩＮ認証後にＡＰ設定状態６０９から他の内部状態に移行した後に、再度、設定処理を行う場合には、再びＰＩＮ認証を行うことが要求される。
【０１１５】
以下、図１に示す通信システム１の全体動作について説明する。
図３７および図３８は、図１に示す通信システム１の全体動作を説明するための図である。
【０１１６】
ステップＳＴ２１：
サービス事業者１５＿１〜１５＿３あるいはこれらサービス事業者の依頼を受けた者が、当該サービス事業者がＩＣカード３を用いて行う取り引きについての処理を記述したスクリプトプログラム２１＿１，２１＿２，２１＿３を、例えば、図１に示すパーソナルコンピュータ１６＿１，１６＿２，１６＿３上で作成する。
また、ＳＡＭモジュール８の管理者が、サービス事業者１５＿１〜１５＿３のそれぞれに対応するＡＰ管理用テーブルデータ３００＿１〜３００＿３を作成する。
【０１１７】
ステップＳＴ２２：
ステップＳＴ２１で作成されたＡＰ管理用テーブルデータ３００＿１〜３００＿３が外部メモリ７に記憶される。
また、ステップＳＴ２１で作成されたスクリプトプログラム２１＿１，２１＿２，２１＿３が、パーソナルコンピュータ１６＿１，１６＿２，１６＿３から、インターネット１０、ＡＳＰサーバ装置１９およびＳＡＭモジュール８を介して、外部メモリ７にダウンロードされる。当該ダウンロードの処理は、図９に示すように、ＳＡＭモジュール８内のスクリプトダウンロードタスク６９によって管理される。
【０１１８】
ステップＳＴ２３：
図９に示すＳＡＭモジュール８内のスクリプト解釈タスク７０によって、各サービス事業者毎に、ＡＰ管理用テーブルデータ３００＿１〜３００＿３およびスクリプトプログラムを用いて、ＩＣカードエンティティテンプレートデータ、入力用データブロック、出力用データブロック、ログ用データブロックおよび演算定義用データブロックが生成される。
これら生成されたデータは、図１４に示すＳＡＭモジュール８のメモリ６５に格納される。
【０１１９】
ステップＳＴ２４：
ユーザにＩＣカード３が発行される。
図５に示すＩＣカード３のＩＣモジュール３ａには、ユーザが契約を行ったサービス事業者との取り引きに用いられる鍵データが記憶されている。
なお、ユーザとサービス事業者との間の契約は、ＩＣカード３の発行後に、インターネット１０などを介して行ってもよい。
【０１２０】
ステップＳＴ２５：
例えば、ユーザがパーソナルコンピュータ５を用いてインターネット１０を介してサーバ装置２にアクセスを行い、商品を購入しようとした場合に、サーバ装置２がインターネット１０を介してＡＳＰサーバ装置１９に処理要求を出す。
ＡＳＰサーバ装置１９は、サーバ装置２から処理要求を受けると、インターネット１０を介してパーソナルコンピュータ５にアクセスを行う。そして、カードリーダ・ライタ４が出したＩＣカード３についての処理要求が、パーソナルコンピュータ５、インターネット１０およびＡＳＰサーバ装置１９を介してＳＡＭモジュール８に送信される。
【０１２１】
ステップＳＴ２６：
ＡＳＰサーバ装置１９からＳＡＭモジュール８にエンティティ作成要求が出される。当該エンティティ作成要求には、ＩＣカード３の発行元を示すデータが格納されている。
【０１２２】
ステップＳＴ２７：
ＳＡＭモジュール８は、エンティティ作成要求を受けると、ＩＣカード３との間でポーリングを行う。
【０１２３】
ステップＳＴ２８：
ＳＡＭモジュール８のエンティティ生成タスク７１は、ポーリング終了後に、ＳＡＭモジュール８内に存在するＩＣカードエンティティデータ７３＿ｘの数が、スクリプトプログラムのＳＣコマンドによって規定された最大数以内であるか否かを判断し、最大数以内であればステップＳＴ２９の処理に進み、そうでない場合には処理を終了する。
【０１２４】
ステップＳＴ２９：
エンティティ生成タスク７１が、例えば、エンティティ作成要求に格納されたＩＣカード３の発行元を示すデータに基づいて、何れのサービス事業者のＩＣカードエンティティテンプレートデータを用いるかを特定し、当該特定したＩＣカードエンティティテンプレートデータ用いて、ＩＣカードエンティティデータ７３＿ｘを生成する。
【０１２５】
ステップＳＴ３０：
ＳＡＭモジュール８からＡＳＰサーバ装置１９に、ステップＳＴ２９で生成したＩＣカードエンティティデータ７３＿ｘのエンティティＩＤが出力される。
【０１２６】
ステップＳＴ３１：
ＳＡＭモジュール８のＩＣカード手続管理用タスク７２によって、ＩＣカード３で利用可能なサービスが調べられる。
【０１２７】
ステップＳＴ３２：
ＳＡＭモジュール８のＩＣカード手続管理用タスク７２がＩＣカード３の正当性を認証する。
【０１２８】
ステップＳＴ３３：
ＩＣカード３がＳＡＭモジュール８の正当性を認証する。
ステップＳＴ３２，ＳＴ３３によって、ＩＣカード３とＳＡＭモジュール８との間の相互認証が行われる。
このとき、前述したように、ＳＡＭモジュール８で実行されているアプリケーションエレメントデータＡＰＥに応じて、図１１に示すＡＰ管理用テーブルデータ３００＿１〜３００＿３が参照されて、鍵データＫ＿ＣＡＲＤが取得され、当該鍵データＫ＿ＣＡＲＤを用いてＳＡＭモジュール８とＩＣカード３のＣＰＵ５１との間で相互認証が行われる。
【０１２９】
ステップＳＴ３４：
ＳＡＭモジュール８のＩＣカード手続管理用タスク７２が、ＩＣカード３との間で、手続きに必要なデータの読み書きを行う。
また、ＩＣカード手続管理用タスク７２は、ＩＣカードエンティティデータ７３＿ｘの処理前データ８６に基づいて特定した演算式を用いて、ＩＣカード３から読み出したデータを用いて所定の演算処理を行う。
【０１３０】
ステップＳＴ３５：
ＳＡＭモジュール８のＩＣカード手続管理用タスク７２が、ステップＳＴ３４の処理結果をＡＳＰサーバ装置１９に出力する。
【０１３１】
ステップＳＴ３６：
例えば、ＩＣカード手続管理用タスク７２が、ＩＣカードエンティティデータ７３＿ｘを消去する。
【０１３２】
以上説明したように、通信システム１およびＳＡＭユニット９によれば、アプリケーションプログラムＡＰのバックアップおよびリストアする方法を提供することにより、ハードウェア障害等のために代替のＳＡＭユニット９を使用する場合に、カードを操作する鍵・鍵パッケージ等の設定を以前のＳＡＭユニット９と同等の状態にすることが可能となる。
また、通信システム１およびＳＡＭユニット９によれば、アプリケーションプログラムの設定データだけでなく、ログなどの運用開始後に蓄積されたデータをＳＡＭユニット９の外部にバックアップすることが可能となる。
また、通信システム１およびＳＡＭユニット９によれば、ＳＡＭ間連携により取得したアプリケーションエレメントデータＡＰＥを取り出す際の暗号用鍵は、ＳＡＭ間連携以外に取得したアプリケーションエレメントデータＡＰＥを取り出すときと異なっているため、他のＳＡＭから取得したアプリケーションエレメントデータＡＰＥの内容を容易に解読されることを防ぐことができる。よって、ＳＡＭ間連携により取得した情報が外部に漏れることを防ぐことが可能でとなる。
【０１３３】
また、通信システム１およびＳＡＭユニット９によれば、ＳＡＭユニット９から読みだされたアプリケーションエレメントデータＡＰＥの設定データ等のパッケージ暗号方式とパッケージフォーマットは、ＳＡＭユニット９に転送するためのパッケージと同一の暗号方式とパッケージフォーマットを持つ。よって、対象となるアプリケーションプログラムＡＰの識別データＡＰ＿ＩＤが同一であれば、バックアップした暗号化パッケージとリストアをするための暗号パッケージにそのまま使用できるので、サービス事業者側での復元作業の手間を省くことができる。
【０１３４】
また、通信システム１およびＳＡＭユニット９によれば、アプリケーションエレメントデータＡＰＥの外部からの転送や読出し時に、相互認証で確立した暗号通信路上でＰＩＮ認証を行うことが可能なので、ＳＡＭユニット９に格納されたアプリケーションプログラムＡＰへの操作をより安全に行うことができる。
また、通信システム１およびＳＡＭユニット９によれば、ＰＩＮ認証は、アプリケーションプログラムＡＰ単位で行うため、異なる事業者のアプリケーションプログラムＡＰが同一のＳＡＭユニット９に共存している場合にも、他の事業者になりすましてアプリケーションプログラムＡＰの転送・読出しをすることを防ぐことができる。
また、通信システム１およびＳＡＭユニット９によれば、ＰＩＮ認証が必要なコマンドを事前に登録する方法などにより、アプリケーションプログラムＡＰの設定や読出し以外のコマンドにも適用することができる。
また、通信システム１およびＳＡＭユニット９によれば、ＳＡＭユニット９のＣＰＵ６６の内部状態の遷移により一旦確立したＰＩＮセッションを終了するため、再度認証操作を必要とし、セキュリティを高めることができる。
【０１３５】
また、通信システム１およびＳＡＭユニット９によれば、アプリケーションプログラムＡＰを複数のアプリケーションエレメントデータＡＰＥを用いて構成し、ＡＰ管理用テーブルデータおよびＡＰＰテーブルデータを用いて、各アプリケーションエレメントデータＡＰＥの処理内容を規定することで、ＩＣカード３を用いた多様なサービスを提供できる。
また、通信システム１によれば、ＡＰ管理用テーブルデータおよびＡＰＰテーブルデータを用いて、同一ＳＡＭ内でのアプリケーションエレメントデータＡＰＥの利用、並びに異なるＳＡＭ間でのアプリケーションエレメントデータＡＰＥの利用を高いセキュリティを保ちながら柔軟に実現できる。
また、通信システム１によれば、異なるＳＡＭ間でアプリケーションエレメントデータＡＰＥを利用する場合に、ＳＡＭ間で相互認証を行うため、アプリケーションプログラムのセキュリティを高めることができる。
また、通信システム１によれば、同一のサービス事業者のアプリケーションプログラムに、同じクラスのＳＡＭ＿ＩＤを割り当てることで、同じ事業者のアプリケーションプログラムのアプリケーションエレメントデータＡＰＥ間では、煩雑な相互認証処理を行わないようにすることができ、鍵情報の管理、並びにＳＡＭモジュールの処理負担を軽減できる。
【０１３６】
【発明の効果】
以上説明したように、本発明によれば、ＩＣなどの集積回路を用いたサービスを提供したり、バックアップおよびリストアを行う際に、サーバ装置上で動作するアプリケーションプログラムのセキュリティを高めることができるデータ処理装置およびその方法とプログラムを提供することができる。
【図面の簡単な説明】
【図１】図１は、本実施形態の通信システムの全体構成図である。
【図２】図２は、図１に示すＩＣカードの機能ブロック図である。
【図３】図３は、図２に示すメモリを説明するための図である。
【図４】図４は、図１に示すＳＡＭモジュールのソフトウェア構造を説明するための図である。
【図５】図５は、図１に示す外部メモリの記憶領域を説明するための図である。
【図６】図６は、図５に示すアプリケーションプログラムＡＰを説明するための図である。
【図７】図７は、図６に示すヘッダデータを説明するための図である。
【図８】図８は、図６に示すアプリケーションエレメントデータＡＰＥの種別を説明するための図である。
【図９】図９は、示すＩＣカード操作用マクロコマンドスクリプトプログラムで使用されるコマンドを説明するための図である。
【図１０】図１０は、図５に示すＡＰ管理用記憶領域を説明するための図である。
【図１１】図１１は、図１０に示すＡＰ管理用テーブルデータを説明するための図である。
【図１２】図１２は、ＳＡＭ＿ＩＤを説明するための図である。
【図１３】図１３は、図１０に示すＡＰＰテーブルデータを説明するための図である。
【図１４】図１４は、図１に示すＳＡＭモジュールの機能ブロック図である。
【図１５】図１５は、図１４に示すメモリに記憶されるタスク、プログラムおよびデータを説明するための図である。
【図１６】図１６は、ＩＣカードエンティティデータ７３＿ｘのフォーマットを説明するための図である。
【図１７】図１７は、ＩＣカード手続管理用タスクが行う処理のフローチャートである。
【図１８】図１８は、ＳＡＭモジュールのＣＰＵの内部状態を説明するための図である。
【図１９】図１９は、図１に示すＳＡＭモジュールのバックアプ先のコンピュータを説明するための図である。
【図２０】図２０は、図１に示すＳＡＭモジュールの第１のバックアップ・リストア手法を説明するための図である。
【図２１】図２１は、図２０に示す第１のバックアップ手法の手順を示すフローチャートである。
【図２２】図２２は、図２１に示す第１のバックアップ手法に対応した第１のリストア手法の手順を説明するためのフローチャートである。
【図２３】図２３は、図１に示すＳＡＭモジュールの第２のバックアップ・リストア手法を説明するための図である。
【図２４】図２４は、図２３に示す第２のバックアップ手法の手順を示すフローチャートである。
【図２５】図２５は、図２４に示す第２のバックアップ手法に対応した第２のリストア手法の手順を説明するためのフローチャートである。
【図２６】図２６は、図１に示すＳＡＭモジュールの第３のバックアップ・リストア手法を説明するための図である。
【図２７】図２７は、図２６に示す第３のバックアップ手法の手順を示すフローチャートである。
【図２８】図２８は、図２７に示す第３のバックアップ手法に対応した第３のリストア手法の手順を説明するためのフローチャートである。
【図２９】図２９は、図１に示すＳＡＭモジュールの第４のバックアップ・リストア手法を説明するための図である。
【図３０】図３０は、図２９に示す第４のバックアップ手法の手順を示すフローチャートである。
【図３１】図３１は、図３０に示す第４のバックアップ手法に対応した第４のリストア手法の手順を説明するためのフローチャートである。
【図３２】図３２は、図３０に示すステップＳＴ１６４におけるＳＡＭユニット９ａ間のアプリケーションエレメントデータの転送に用いられる新たなＡＰリソース鍵データＫ＿ＡＰＲについて説明するための図である。
【図３３】図３３は、バックアップ手法の選択実行手順を説明するためのフローチャートである。
【図３４】図３４は、リストア手法の選択実行手順を説明するためのフローチャートである。
【図３５】図３５は、図１に示すＳＡＭモジュールのＣＰＵが行う第１の認証方法の手順を説明するためのフローチャートである。
【図３６】図３６は、図１に示すＳＡＭモジュールのＣＰＵが行う第２の認証方法の手順を説明するためのフローチャートである。
【図３７】図３７は、図１に示す通信システムの全体動作を説明するための図である。
【図３８】図３８は、図１に示す通信システムの全体動作を説明するための図である。
【符号の説明】
１…通信システム、２…サーバ装置、３…ＩＣカード、３ａ…ＩＣモジュール、４…カードリーダ・ライタ、５…パーソナルコンピュータ、７，７ａ…外部メモリ、８，８ａ…ＳＡＭモジュール、９…ＳＡＭユニット、１５＿１〜１５＿３…サービス事業者、１９…ＡＳＰサーバ装置、４１…携帯通信装置、４２…ＩＣモジュール
【図１】
0004211251.tif 000002
【図２】
0004211251.tif 000003
【図３】
0004211251.tif 000004
【図４】
0004211251.tif 000005
【図５】
0004211251.tif 000006
【図６】
0004211251.tif 000007
【図７】
0004211251.tif 000008
【図８】
0004211251.tif 000009
【図９】
0004211251.tif 000010
【図１０】
0004211251.tif 000011
【図１１】
0004211251.tif 000012
【図１２】
0004211251.tif 000013
【図１３】
0004211251.tif 000014
【図１４】
0004211251.tif 000015
【図１５】
0004211251.tif 000016
【図１６】
0004211251.tif 000017
【図１７】
0004211251.tif 000018
【図１８】
0004211251.tif 000019
【図１９】
0004211251.tif 000020
【図２０】
0004211251.tif 000021
【図２１】
0004211251.tif 000022
【図２２】
0004211251.tif 000023
【図２３】
0004211251.tif 000024
【図２４】
0004211251.tif 000025
【図２５】
0004211251.tif 000026
【図２６】
0004211251.tif 000027
【図２７】
0004211251.tif 000028
【図２８】
0004211251.tif 000029
【図２９】
0004211251.tif 000030
【図３０】
0004211251.tif 000031
【図３１】
0004211251.tif 000032
【図３２】
0004211251.tif 000033
【図３３】
0004211251.tif 000034
【図３４】
0004211251.tif 000035
【図３５】
0004211251.tif 000036
【図３６】
0004211251.tif 000037
【図３７】
0004211251.tif 000038
【図３８】
0004211251.tif 000039