(57)【要約】【課題】  複数のサーバから提供される、ＩＣカードに関する情報を、安全、かつ迅速に管理する。【解決手段】  フラッシュメモリ７４は、スクリプトを、スクリプトが対応するドメイン毎に記憶し、RAM７５は、１つのドメインに対応する１つまたは複数のスクリプトを実行させるために保持する。主制御部７１は、スクリプトの実行指示を取得すると、ドメイン管理部７２は、スクリプトの実行指示により指定されたドメインに対応する方法によって、主制御部７１により指定された、フラッシュメモリ７４に記憶されているスクリプトを用いてRAM７５の実行領域８３に保持されている情報を更新し、スクリプト制御部７３は、更新されたRAM７５の実行領域８３に保持されている、指定されたスクリプトを実行する。本発明は、ＩＣカードに関する情報を処理する端末装置に適用することができる。【選択図】図３
2006031257.tif 000002
【特許請求の範囲】
【請求項１】
ＩＣカードを利用したサービスを複数提供する情報処理装置において、
前記サービスを提供するために実行されるプログラムを、前記プログラムが対応するサービス毎に記憶する記憶手段と、
１つの前記サービスに対応する１つまたは複数の前記プログラムを実行させるために保持する保持手段と、
前記プログラムの実行指示を取得する実行指示取得手段と、
前記実行指示取得手段により取得された前記実行指示により指定されたサービスに対応する方法によって、前記実行指示により指定された、前記記憶手段により記憶されているプログラムを用いて、前記保持手段により保持されている情報を更新する更新手段と、
前記実行指示取得手段により取得された前記実行指示に基づいて、前記更新手段により前記情報が更新された前記保持手段により保持されている、前記実行指示により指定された前記プログラムを実行する実行手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記更新手段は、
前記保持手段により保持されている前記プログラムが対応するサービスについての情報であるサービス情報を管理するサービス情報管理手段と、
前記保持手段により保持されている前記プログラムについての情報であるプログラム情報を管理するプログラム情報管理手段と、
前記実行指示により指定された第１のサービスと、前記サービス情報管理手段により管理される前記サービス情報に対応する第２のサービスとが同じサービスであるか否かを判定するサービス情報判定手段と、
前記サービス情報判定手段により前記第１のサービスと前記第２のサービスとが互いに異なるサービスであると判定された場合、前記保持手段により保持されている情報を全て消去する消去手段と、
前記サービス情報判定手段により前記第１のサービスと前記第２のサービスとが同じサービスであると判定された場合、前記実行指示により指定された第１のプログラムと、前記プログラム情報管理手段により管理される前記プログラム情報に対応する第２のプログラムとが同じプログラムであるか否かを判定するプログラム情報判定手段と、
前記サービス情報判定手段により前記第１のサービスと前記第２のサービスとが互いに異なるサービスであると判定された場合、前記実行指示により指定された前記第１のプログラムを前記記憶手段より読み出し、前記消去手段により情報が全て消去された前記保持手段に供給して保持させることにより前記保持手段の前記情報を更新し、前記サービス情報判定手段により前記第１のサービスと前記第２のサービスとが同じサービスであると判定され、さらに、前記プログラム情報判定手段により前記第１のプログラムと前記第２のプログラムとが互いに異なるプログラムであると判定された場合、前記実行指示により指定された前記第１のプログラムを前記記憶手段より読み出し、前記保持手段に供給して追加保持させることにより前記保持手段の前記情報を更新し、前記プログラム情報判定手段により前記第１のプログラムと前記第２のプログラムとが同じプログラムであると判定された場合、前記保持手段の前記情報の更新を終了するように制御する更新制御手段と
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記サービス情報は、前記サービスを識別するためのID情報であるサービスIDを含み、
前記プログラム情報は、前記プログラムを識別するためのID情報であるプログラムIDを含む
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記記憶手段は、暗号化された前記プログラムを記憶し、
前記更新手段は、前記暗号化されたプログラムを復号する復号手段をさらに備え、
前記更新制御手段は、前記記憶手段より読み出した前記暗号化されたプログラムを前記復号手段に復号させ、復号された前記プログラムを前記保持手段に供給する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
外部より前記プログラムを取得するプログラム取得手段をさらに備え、
前記記憶手段は、前記プログラム取得手段により取得された前記プログラムを、前記プログラムが対応するサービス毎に記憶する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記プログラム取得手段により取得された前記プログラムを暗号化する暗号化手段をさらに備え、
前記記憶手段は、前記暗号化手段により暗号化された前記プログラムを、前記プログラムが対応するサービス毎に記憶する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記記憶手段は、前記実行手段により前記プログラムが実行される際に利用されるデータを、前記プログラムが対応するサービス毎にさらに記憶し、
前記保持手段は、前記データをさらに保持し、
前記更新手段は、前記実行指示取得手段により取得された前記実行指示により指定されたサービスに対応する方法によって、前記実行指示により指定された前記プログラム、および前記プログラムの実行に必要な前記データを用いて、前記保持手段により保持されている情報を更新し、
前記実行手段は、必要に応じて前記保持手段により保持されている前記データを用いて、前記実行指示により指定された前記プログラムを実行する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記実行指示取得手段により取得された前記実行指示により指定された前記プログラムの実行に必要な前記データが、前記保持手段により保持されているか否かを判定するデータ判定手段をさらに備え、
前記更新手段は、前記データ判定手段により前記データが前記保持手段により保持されていないと判定した場合、前記データを、前記記憶手段より読み出し、前記保持手段に供給して追加保持させる
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
ＩＣカードを利用したサービスを複数提供し、前記サービスを提供するために実行されるプログラムを、前記プログラムが対応するサービス毎に記憶する記憶手段と、１つの前記サービスに対応する１つまたは複数の前記プログラムを実行させるために保持する保持手段とを備える情報処理装置の情報処理方法において、
前記プログラムの実行指示を取得する実行指示取得ステップと、
前記実行指示取得ステップの処理により取得された前記実行指示により指定されたサービスに対応する方法によって、前記実行指示により指定された、前記記憶手段により記憶されているプログラムを用いて、前記保持手段により保持されている情報を更新する更新ステップと、
前記実行指示取得ステップの処理により取得された前記実行指示に基づいて、前記更新手段により前記情報が更新された前記保持手段により保持されている、前記実行指示により指定された前記プログラムを実行する実行ステップと
を含むことを特徴とする情報処理方法。
【請求項１０】
ＩＣカードを利用したサービスを複数提供し、前記サービスを提供するために実行されるプログラムを、前記プログラムが対応するサービス毎に記憶する記憶手段と、１つの前記サービスに対応する１つまたは複数の前記プログラムを実行させるために保持する保持手段とを備える情報処理装置を制御するプログラムであって、
前記プログラムの実行指示を取得する実行指示取得ステップと、
前記実行指示取得ステップの処理により取得された前記実行指示により指定されたサービスに対応する方法によって、前記実行指示により指定された、前記記憶手段により記憶されているプログラムを用いて、前記保持手段により保持されている情報を更新する更新ステップと、
前記実行指示取得ステップの処理により取得された前記実行指示に基づいて、前記更新手段により前記情報が更新された前記保持手段により保持されている、前記実行指示により指定された前記プログラムを実行する実行ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、複数のサーバから提供される、ＩＣカードに関する情報を、安全、かつ迅速に管理することができるようにした情報処理装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、サービスを提供するサービス提供者は、ＩＣカードに関する処理を実行する端末に対して様々な技術を開発している。
【０００３】
例えば、特許文献１には、サーバ装置が、ネットワークとクライアントを介してオンラインでＩＣカード内のデータを読み出す技術が開示されている。
【０００４】
また、これらのサービスを提供するサービス提供者は、ＩＣカードに関する処理を実行する端末に記憶される、ＩＣカードにアクセスするための鍵（例えば、共通鍵）やスクリプトを保護するために、独自に開発した端末を設置している。
【特許文献１】特開２００３−１４１０６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、サービスを受ける店舗には、複数のサービス提供者がＩＣカードサービスを提供するにつれて、サービス提供者ごとに独自に開発した端末が複数併設されることになり、各店舗でのメンテナンスコストが上昇したり、顧客サービスの利便性の低下につながるという課題があった。
【０００６】
特に、スクリプトを実装するような端末では、スクリプトの実行アクセス権がシステム全体におよぶため、端末に複数のサービス提供者のスクリプトや鍵を端末に実装する場合には、異なるサービス提供者のスクリプトや鍵が参照されたり、改ざんされる可能性があるという課題があった。
【０００７】
また、スクリプトを実装するような端末では、端末に実装されているスクリプト内に鍵が埋め込まれることが多く、端末に実装されているスクリプトに埋め込まれた鍵を頻繁に更新するような場合には、端末に汎用性がないことやスクリプトごとに鍵を埋め込むことになるので、鍵の更新がその端末全体の更新となってしまい、鍵の管理コストが高いという課題があった。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、複数のサーバから提供される、ＩＣカードに関する情報を、安全、かつ迅速に管理することができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、ＩＣカードを利用したサービスを複数提供する情報処理装置であって、サービスを提供するために実行されるプログラムを、プログラムが対応するサービス毎に記憶する記憶手段と、１つのサービスに対応する１つまたは複数のプログラムを実行させるために保持する保持手段と、プログラムの実行指示を取得する実行指示取得手段と、実行指示取得手段により取得された実行指示により指定されたサービスに対応する方法によって、実行指示により指定された、記憶手段により記憶されているプログラムを用いて、保持手段により保持されている情報を更新する更新手段と、実行指示取得手段により取得された実行指示に基づいて、更新手段により情報が更新された保持手段により保持されている、実行指示により指定されたプログラムを実行する実行手段とを備えることを特徴とする。
【００１０】
更新手段は、保持手段により保持されているプログラムが対応するサービスについての情報であるサービス情報を管理するサービス情報管理手段と、保持手段により保持されているプログラムについての情報であるプログラム情報を管理するプログラム情報管理手段と、実行指示により指定された第１のサービスと、サービス情報管理手段により管理されるサービス情報に対応する第２のサービスとが同じサービスであるか否かを判定するサービス情報判定手段と、サービス情報判定手段により第１のサービスと第２のサービスとが互いに異なるサービスであると判定された場合、保持手段により保持されている情報を全て消去する消去手段と、サービス情報判定手段により第１のサービスと第２のサービスとが同じサービスであると判定された場合、実行指示により指定された第１のプログラムと、プログラム情報管理手段により管理されるプログラム情報に対応する第２のプログラムとが同じプログラムであるか否かを判定するプログラム情報判定手段と、サービス情報判定手段により第１のサービスと第２のサービスとが互いに異なるサービスであると判定された場合、実行指示により指定された第１のプログラムを記憶手段より読み出し、消去手段により情報が全て消去された保持手段に供給して保持させることにより保持手段の情報を更新し、サービス情報判定手段により第１のサービスと第２のサービスとが同じサービスであると判定され、さらに、プログラム情報判定手段により第１のプログラムと第２のプログラムとが互いに異なるプログラムであると判定された場合、実行指示により指定された第１のプログラムを記憶手段より読み出し、保持手段に供給して追加保持させることにより保持手段の情報を更新し、プログラム情報判定手段により第１のプログラムと第２のプログラムとが同じプログラムであると判定された場合、保持手段の情報の更新を終了するように制御する更新制御手段とを備えるものとすることができる。
【００１１】
サービス情報は、サービスを識別するためのID情報であるサービスIDを含み、プログラム情報は、プログラムを識別するためのID情報であるプログラムIDを含むものとすることができる。
【００１２】
記憶手段は、暗号化されたプログラムを記憶し、更新手段は、暗号化されたプログラムを復号する復号手段をさらに備え、更新制御手段は、記憶手段より読み出した暗号化されたプログラムを復号手段に復号させ、復号されたプログラムを保持手段に供給するものとすることができる。
【００１３】
外部よりプログラムを取得するプログラム取得手段をさらに備え、記憶手段は、プログラム取得手段により取得されたプログラムを、プログラムが対応するサービス毎に記憶するものとすることができる。
【００１４】
プログラム取得手段により取得されたプログラムを暗号化する暗号化手段をさらに備え、記憶手段は、暗号化手段により暗号化されたプログラムを、プログラムが対応するサービス毎に記憶するものとすることができる。
【００１５】
記憶手段は、実行手段によりプログラムが実行される際に利用されるデータを、プログラムが対応するサービス毎にさらに記憶し、保持手段は、データをさらに保持し、更新手段は、実行指示取得手段により取得された実行指示により指定されたサービスに対応する方法によって、実行指示により指定されたプログラム、およびプログラムの実行に必要なデータを用いて、保持手段により保持されている情報を更新し、実行手段は、必要に応じて保持手段により保持されているデータを用いて、実行指示により指定されたプログラムを実行するものとすることができる。
【００１６】
実行指示取得手段により取得された実行指示により指定されたプログラムの実行に必要なデータが、保持手段により保持されているか否かを判定するデータ判定手段をさらに備え、更新手段は、データ判定手段によりデータが保持手段により保持されていないと判定した場合、データを、記憶手段より読み出し、保持手段供給して追加保持させるものとすることができる。
【００１７】
本発明の情報処理方法は、ＩＣカードを利用したサービスを複数提供し、サービスを提供するために実行されるプログラムを、プログラムが対応するサービス毎に記憶する記憶手段と、１つのサービスに対応する１つまたは複数のプログラムを実行させるために保持する保持手段とを備える情報処理装置の情報処理方法であって、プログラムの実行指示を取得する実行指示取得ステップと、実行指示取得ステップの処理により取得された実行指示により指定されたサービスに対応する方法によって、実行指示により指定された、記憶手段により記憶されているプログラムを用いて、保持手段により保持されている情報を更新する更新ステップと、実行指示取得ステップの処理により取得された実行指示に基づいて、更新手段により情報が更新された保持手段により保持されている、実行指示により指定されたプログラムを実行する実行ステップとを含むことを特徴とする。
【００１８】
本発明のプログラムは、ＩＣカードを利用したサービスを複数提供し、サービスを提供するために実行されるプログラムを、プログラムが対応するサービス毎に記憶する記憶手段と、１つのサービスに対応する１つまたは複数のプログラムを実行させるために保持する保持手段とを備える情報処理装置を制御するプログラムであって、プログラムの実行指示を取得する実行指示取得ステップと、実行指示取得ステップの処理により取得された実行指示により指定されたサービスに対応する方法によって、実行指示により指定された、記憶手段により記憶されているプログラムを用いて、保持手段により保持されている情報を更新する更新ステップと、実行指示取得ステップの処理により取得された実行指示に基づいて、更新手段により情報が更新された保持手段により保持されている、実行指示により指定されたプログラムを実行する実行ステップとを含む処理をコンピュータに実行させることを特徴とする。
【００１９】
本発明によれば、プログラムの実行指示が取得され、取得された実行指示により指定されたサービスに対応する方法によって、実行指示により指定された、記憶手段により記憶されているプログラムを用いて、保持手段により保持されている情報が更新され、実行指示に基づいて、情報が更新された保持手段により保持されている、実行指示により指定されたプログラムが実行される。
【発明の効果】
【００２０】
本発明によれば、ＩＣカードに関する情報を、安全、かつ迅速に管理することができる。特に、本発明によれば、複数のサーバから提供される、ＩＣカードに関する情報を、安全、かつ迅速に管理することができる。
【発明を実施するための最良の形態】
【００２１】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２２】
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２３】
請求項１に記載の情報処理装置は、ＩＣカードを利用したサービスを複数提供する情報処理装置（例えば、図３の端末SAM４２）であって、
前記サービスを提供するために実行されるプログラム（例えば、スクリプト）を、前記プログラムが対応するサービス毎（例えば、ドメイン毎）に記憶する記憶手段（例えば、図３のフラッシュメモリ７４）と、
１つの前記サービスに対応する１つまたは複数の前記プログラムを実行させるために保持する保持手段（例えば、図３のRAM７５）と、
前記プログラムの実行指示を取得する実行指示取得手段（例えば、図５のステップＳ３１の処理を実行する図３の主制御部７１）と、
前記実行指示取得手段により取得された前記実行指示により指定されたサービスに対応する方法によって、前記実行指示により指定された、前記記憶手段により記憶されているプログラムを用いて、前記保持手段により保持されている情報を更新する更新手段（例えば、図５のステップＳ５１乃至ステップＳ６４の処理を実行する図３のドメイン管理部７２）と、
前記実行指示取得手段により取得された前記実行指示に基づいて、前記更新手段により前記情報が更新された前記保持手段により保持されている、前記実行指示により指定された前記プログラムを実行する実行手段（例えば、図６のステップＳ７８の処理を実行する図３のスクリプト制御部７３）と
を備えることを特徴とする。
【００２４】
請求項２に記載の情報処理装置の前記更新手段は、
前記保持手段により保持されている前記プログラムが対応するサービスについての情報であるサービス情報を管理するサービス情報管理手段（例えば、RAM７５の実行領域８３に保持されている実行ドメインを把握する図３のドメイン管理部７２）と、
前記保持手段により保持されている前記プログラムについての情報であるプログラム情報を管理するプログラム情報管理手段（例えば、RAM７５に保持されているスクリプトＩＤを把握する図３のドメイン管理部７２）と、
前記実行指示により指定された第１のサービスと、前記サービス情報管理手段により管理される前記サービス情報に対応する第２のサービスとが同じサービスであるか否かを判定するサービス情報判定手段（例えば、図５のステップＳ５２の処理を実行する図３のドメイン管理部７２）と、
前記サービス情報判定手段により前記第１のサービスと前記第２のサービスとが互いに異なるサービスであると判定された場合、前記保持手段により保持されている情報を全て消去する消去手段（例えば、図５のステップＳ５３の処理を実行する図３のドメイン管理部７２）と、
前記サービス情報判定手段により前記第１のサービスと前記第２のサービスとが同じサービスであると判定された場合、前記実行指示により指定された第１のプログラムと、前記プログラム情報管理手段により管理される前記プログラム情報に対応する第２のプログラムとが同じプログラムであるか否かを判定するプログラム情報判定手段（例えば、図５のステップＳ５５の処理を実行する図３のドメイン管理部７２）と、
前記サービス情報判定手段により前記第１のサービスと前記第２のサービスとが互いに異なるサービスであると判定された場合、前記実行指示により指定された前記第１のプログラムを前記記憶手段より読み出し（例えば、図５のステップＳ５６）、前記消去手段により情報が全て消去された前記保持手段に供給して保持させることにより前記保持手段の前記情報を更新し（例えば、図５のステップＳ５８）、前記サービス情報判定手段により前記第１のサービスと前記第２のサービスとが同じサービスであると判定され（例えば、図５のステップＳ５２でYESと判定され）、さらに、前記プログラム情報判定手段により前記第１のプログラムと前記第２のプログラムとが互いに異なるプログラムであると判定された場合（例えば、図５のステップＳ５５でＮＯと判定された場合）、前記実行指示により指定された前記第１のプログラムを前記記憶手段より読み出し（例えば、図５のステップＳ５６）、前記保持手段に供給して追加保持させることにより前記保持手段の前記情報を更新し（例えば、図５のステップＳ５８）、前記プログラム情報判定手段により前記第１のプログラムと前記第２のプログラムとが同じプログラムであると判定された場合（例えば、図５のステップＳ５８でYESと判定された場合）、前記保持手段の前記情報の更新を終了するように制御する更新制御手段（例えば、図５のステップＳ５２乃至ステップＳ５９の処理を実行する図３のドメイン管理部７２）と
を備えることを特徴とする。
【００２５】
請求項３に記載の情報処理装置の前記サービス情報は、前記サービスを識別するためのID情報であるサービスID（例えば、ドメインＩＤ）を含み、
前記プログラム情報は、前記プログラムを識別するためのID情報であるプログラムID（例えば、スクリプトＩＤ）を含む
ことを特徴とする。
【００２６】
請求項４に記載の情報処理装置の前記記憶手段は、暗号化された前記プログラムを記憶し、
前記更新手段は、前記暗号化されたプログラムを復号する復号手段（例えば、図５のステップＳ５７の処理を実行する図３のドメイン管理部７２）をさらに備え、
前記更新制御手段は、前記記憶手段より読み出した前記暗号化されたプログラムを前記復号手段に復号させ、復号された前記プログラムを前記保持手段に供給する
ことを特徴とする。
【００２７】
請求項５に記載の情報処理装置は、
外部より前記プログラムを取得するプログラム取得手段（例えば、図７のステップＳ９１の処理を実行する図３の主制御部７１）をさらに備え、
前記記憶手段は、前記プログラム取得手段により取得された前記プログラムを、前記プログラムが対応するサービス毎に記憶する
ことを特徴とする。
【００２８】
請求項６に記載の情報処理装置は、
前記プログラム取得手段により取得された前記プログラムを暗号化する暗号化手段（例えば、図７のステップＳ１１４の処理を実行するドメイン管理部７２）をさらに備え、
前記記憶手段は、前記暗号化手段により暗号化された前記プログラムを、前記プログラムが対応するサービス毎に記憶する
ことを特徴とする。
【００２９】
請求項７に記載の情報処理装置の前記記憶手段は、前記実行手段により前記プログラムが実行される際に利用されるデータ（例えば、鍵）を、前記プログラムが対応するサービス毎にさらに記憶し、
前記保持手段は、前記データをさらに保持し、
前記更新手段は、前記実行指示取得手段により取得された前記実行指示により指定されたサービスに対応する方法によって、前記実行指示により指定された前記プログラム、および前記プログラムの実行に必要な前記データを用いて、前記保持手段により保持されている情報を更新し（例えば、図６のステップＳ６３の処理を実行する図３のドメイン管理部７２）、
前記実行手段は、必要に応じて前記保持手段により保持されている前記データを用いて、前記実行指示により指定された前記プログラムを実行する（例えば、図６のステップＳ７８）
ことを特徴とする。
【００３０】
請求項８に記載の情報処理装置は、
前記実行指示取得手段により取得された前記実行指示により指定された前記プログラムの実行に必要な前記データが、前記保持手段により保持されているか否かを判定するデータ判定手段（例えば、図６のステップＳ７４の処理を実行する図３のスクリプト制御部７３）をさらに備え、
前記更新手段は、前記データ判定手段により前記データが前記保持手段により保持されていないと判定した場合、前記データを、前記記憶手段より読み出し、前記保持手段に供給して追加保持させる（例えば、図６のステップＳ６０乃至ステップＳ６３）
ことを特徴とする。
【００３１】
請求項９に記載の情報処理方法は、
ＩＣカードを利用したサービスを複数提供し、前記サービスを提供するために実行されるプログラム（例えば、スクリプト）を、前記プログラムが対応するサービス毎（例えば、ドメイン毎）に記憶する記憶手段（例えば、図３のフラッシュメモリ７４）と、１つの前記サービスに対応する１つまたは複数の前記プログラムを実行させるために保持する保持手段（例えば、図３のRAM７５）とを備える情報処理装置（例えば、図３の端末SAM４２）の情報処理方法であって、
前記プログラムの実行指示を取得する実行指示取得ステップ（例えば、図５のステップＳ３１）と、
前記実行指示取得ステップの処理により取得された前記実行指示により指定されたサービスに対応する方法によって、前記実行指示により指定された、前記記憶手段により記憶されているプログラムを用いて、前記保持手段により保持されている情報を更新する更新ステップ（例えば、図５のステップＳ５１乃至ステップＳ６４）と、
前記実行指示取得ステップの処理により取得された前記実行指示に基づいて、前記更新手段により前記情報が更新された前記保持手段により保持されている、前記実行指示により指定された前記プログラムを実行する実行ステップ（例えば、図６のステップＳ７８）と
を含むことを特徴とする。
【００３２】
請求項１０に記載のプログラムは、
ＩＣカードを利用したサービスを複数提供し、前記サービスを提供するために実行されるプログラム（例えば、スクリプト）を、前記プログラムが対応するサービス毎（例えば、ドメイン毎）に記憶する記憶手段（例えば、図３のフラッシュメモリ７４）と、１つの前記サービスに対応する１つまたは複数の前記プログラムを実行させるために保持する保持手段（例えば、図３のRAM７５）とを備える情報処理装置（例えば、図３の端末SAM４２）を制御するプログラムであって、
前記プログラムの実行指示を取得する実行指示取得ステップ（例えば、図５のステップＳ３１）と、
前記実行指示取得ステップの処理により取得された前記実行指示により指定されたサービスに対応する方法によって、前記実行指示により指定された、前記記憶手段により記憶されているプログラムを用いて、前記保持手段により保持されている情報を更新する更新ステップ（例えば、図５のステップＳ５１乃至ステップＳ６４）と、
前記実行指示取得ステップの処理により取得された前記実行指示に基づいて、前記更新手段により前記情報が更新された前記保持手段により保持されている、前記実行指示により指定された前記プログラムを実行する実行ステップ（例えば、図６のステップＳ７８）と
を含む処理をコンピュータに実行させることを特徴とする。
【００３３】
以下、図を参照して、本発明の実施の形態について説明する。
【００３４】
図１は、本発明を適用した情報処理システムの全体の構成例を示す図である。
【００３５】
端末SAM(Secure Application Module)クライアント（端末装置）１１−１乃至１１−３は、それぞれネットワーク１２に接続されている。また、ネットワーク１２には、サーバ１４−１乃至１４−３が接続されている。
【００３６】
サーバ１４−１はサービス提供者Ａが運営しており、サーバ１４−２はサービス提供者Ｂが運営しており、サーバ１４−３はサービス提供者Ｃが運営している。すなわち、サーバ１４−１乃至１４−３は、それぞれ異なるサービス提供者により運営されている。ネットワーク１２は、例えば、LAN（Local Area Network）である。
【００３７】
なお、以下において、端末SAMクライアント１１−１乃至１１−３を個々に区別する必要がない場合、端末SAMクライアント１１と称し、サーバ１４−１乃至１４−３を個々に区別する必要がない場合、サーバ１４と称する。また、サービス提供者Ａ、Ｂ、およびＣを個々に区別する必要がない場合、サービス提供者と称する。なお、各サービス提供者には、それぞれ異なるドメインが対応付けられている。
【００３８】
サービス提供者（サーバ１４）は、端末SAMクライアント１１からの要求に基づいて、端末SAMクライアント１１に鍵（共通鍵）やスクリプトを送信する（配信する）。
【００３９】
端末SAMクライアント１１は、複数のスクリプトを記憶することができ、スクリプトを実行して図示せぬＩＣカードにアクセスする。例えば、端末SAMクライアント１１は、スクリプトを実行し、ＩＣカード内のデータを更新する。そして、端末SAMクライアント１１は、スクリプトの実行結果や問い合せなどを、ネットワーク１２を介して、対応するサービスを提供しているサーバ１４に送信する。なお、ネットワーク１２がオフラインである場合、端末SAMクライアント１１は、スクリプトの実行結果を保持しておき、オンラインになったとき、その実行結果を、ネットワーク１２を介してサーバ１４に送信する。また、ＩＣカードと端末SAMクライアント１１の間の情報の授受には、共通鍵が用いられる。
【００４０】
次に、端末SAMクライアント１１の機能的構成例を説明する。図２は、図１の端末SAMクライアント１１の機能的構成例を示すブロック図である。
【００４１】
端末SAMクライアント１１は、制御端末４１、端末SAM４２、およびＩＣカードリーダライタアンテナ４３の機能的構成を有する。
【００４２】
制御端末４１は、例えばPOS(Point Of Sales)端末である。制御端末４１は、ＩＣカード５１に対してデータを更新する指令を出したり、ＩＣカード５１から読み出されたデータを、ネットワーク１２（図１）を介してサーバ１４に送信する。
【００４３】
ＩＣカードリーダライタアンテナ４３は、外部のＩＣカード５１と非接触により通信を行い、ＩＣカードに記憶されている各種のデータの読み出しや、データの書き込みを行なう。例えば、ＩＣカードリーダライタアンテナ４３は、ＩＣカード５１に記憶されているＩＣカード５１に固有の識別番号やＩＣカード５１に蓄積されている金額などのデータを読み出す。またＩＣカードリーダライタアンテナ４３は、ＩＣカード５１と非接触により通信を行い、ＩＣカード５１に蓄積されている金額などのデータを書き換える（更新する）。このとき、ＩＣカード５１とＩＣカードリーダライタアンテナ４３を介するアプリケーション（端末SAM４２）との間で授受される情報は、共通鍵（以下においては、鍵とも称する）を用いて暗号化されている。なお、本実施の形態では、ＩＣカード５１とＩＣカードリーダライタアンテナ４３とが非接触式であるとして説明したが、ＩＣカードとＩＣカードリーダライタとが接触式であってもよい。
【００４４】
端末SAM４２は、ＩＣカードリーダライタアンテナ４３から供給されたデータに対して、処理の処理を実行したり、制御端末４１を介して入力される指令に基づいてスクリプトを実行する。また、端末SAM４２は、スクリプトを実行した結果を制御端末４１に出力する。端末SAM４２は、端末SAMクライアント１１内のデータをセキュアに管理する端末装置である。
【００４５】
図３は、図２の端末SAM４２の機能的構成例を示すブロック図である。
【００４６】
端末SAM４２には、主制御部７１、ドメイン管理部７２、スクリプト制御部７３、フラッシュメモリ７４、RAM(Random Access Memory)７５、およびカード制御部７６が設けられている。
【００４７】
主制御部７１は、ドメイン管理部７２とスクリプト制御部７３を制御する。例えば、主制御部７１は、ドメイン管理部７２に所定のスクリプトを読み出すよう指令したり、スクリプト制御部７３に、スクリプトを実行するように指令する。主制御部７１はまた、制御端末４１から供給されるデータや指令を受け付けたり、制御端末４１にデータや指令を出力する。例えば、主制御部７１は、サービス提供者を識別するドメインＩＤとスクリプトを識別するスクリプトＩＤとともに、制御端末４１から供給されてきた、スクリプトの実行要求とパラメータの入力を受け付ける。ここで、ドメインＩＤは、サービス提供者を識別する識別情報である。また、スクリプトＩＤは、サービス提供者から提供されたスクリプトを識別する識別情報である。
【００４８】
なお、本実施の形態においては、ドメインＩＤが、サービス提供者に対応するようにしたが、サービス提供者が提供するサービス毎に異なるドメインＩＤを設定するようにしてもよい。例えば、サービス提供者Ａが同じ種類のＩＣカードに対して３つのサービスを提供する場合に、３つの異なるドメインＩＤを有するようにしてもよい。
【００４９】
ドメイン管理部７２は、フラッシュメモリ７４に記憶されるスクリプトや鍵を、ドメイン毎に分けて読み出したり、書き込む制御を行なう。またドメイン管理部７２は、実行されるスクリプトを保持する（格納する）RAM７５を更新する。さらにドメイン管理部７２は、主制御部７１から実行が指令されたドメインＩＤに対応するドメインを、実行ドメインとして把握する。また、例えば、ドメイン管理部７２は、RAM７５の実行領域８３に格納してあるスクリプトＩＤを把握する。なお、以下においては、実行が指令されたドメインＩＤに対応するドメインであって、RAM７５に保持されているスクリプトに対応するドメインを、実行ドメインと称する。また、ドメイン管理部７２は、フラッシュメモリ７４にデータを格納する場合にそのデータを暗号化し、逆に、フラッシュメモリ７４からデータを読み出す場合に暗号化されているデータを復号する。
【００５０】
例えば、主制御部７１からスクリプトの実行の指令とともに、ドメインＩＤとスクリプトＩＤが供給されてきた場合、ドメイン管理部７２は、ドメインＩＤで特定されるドメイン（例えば、ドメイン８１）が記憶されている記憶領域（フラッシュメモリ７４内の記憶領域８１Ａ）から、スクリプトＩＤで特定されるスクリプト（例えば、スクリプト９１）を読み出す。読み出されたスクリプトは暗号化されているので、ドメイン管理部７２は、読み出したスクリプト（暗号化されているスクリプト）を復号し、復号したスクリプトを、RAM７５に配置（展開）する。また例えば、ドメイン管理部７２は、フラッシュメモリ７４から鍵を読み出し、RAM７５に配置する。
【００５１】
なお、以下においては、ドメイン管理部７２が実行ドメインだけでなく、RAM７５の実行領域８３に格納されているスクリプトＩＤをも把握するようにして説明するが、ドメイン管理部７２が、単に実行ドメインのみを把握し、スクリプト制御部７３が、RAM７５の実行領域８３に記憶されているスクリプトＩＤを把握するようにしてもよい。この場合の例については、後述する。
【００５２】
スクリプト制御部７３は、RAM７５に保持（格納）されているスクリプトを実行する。スクリプトは中間言語形式であるので、スクリプト制御部７３は、中間言語形式のスクリプトを実行コードに変換し、実行コードに基づいて処理を実行する（スクリプトを実行する）。また、スクリプト制御部７３は、RAM７５に保持されているスクリプトを確認し、そのスクリプトに必要なアクセス鍵がRAM７５に保持されているか否かを確認する。例えば、RAM７５に必要なアクセス鍵が保持されていない場合には、これを主制御部７１に報告する。さらに、スクリプト制御部７３は、カード制御部７４およびＩＣカードリーダライタアンテナ４３を介して、ＩＣカード５１との間でデータを授受する。
【００５３】
フラッシュメモリ７４は、ドメイン毎にスクリプトや鍵を記憶することができるように、複数の領域に区分されている記憶領域を有する。図３の例の場合、第１のドメインＩＤ（例えば、サービス提供者Ａに対応するドメインＩＤ）に対応するドメイン８１用の記憶領域を、記憶領域８１Ａと称し、第２のドメインＩＤ（例えば、サービス提供者Ｂに対応するドメインＩＤ）に対応するドメイン８２用の記憶領域を、記憶領域８２Ａとする。すなわち、フラッシュメモリ７４の記憶領域が、記憶領域８１Ａと記憶領域８２Ａとに分割されている。換言すれば、記憶領域８１Ａは、例えば、ドメイン８１に対応するサービス提供者Ａが提供するスクリプトや鍵を記憶するための領域であり、記憶領域８２Ａは、ドメイン８２に対応するサービス提供者Ｂが提供するスクリプトや鍵を記憶するための領域である。このように、フラッシュメモリ７４の記憶領域は、ドメイン毎（サービス提供者毎）に記憶領域が分割されている。また、フラッシュメモリ７４は、ドメイン毎にスクリプトを記憶して管理する。
【００５４】
フラッシュメモリ７４の記憶領域８１Ａ（ドメイン８１用の記憶領域）には、スクリプト９１−１乃至９１−３、並びに鍵９２−１および９２−２が記憶されている。スクリプト９１−１乃至９１−３は、ドメインＩＤに対応するサービス提供者により提供される、所定の処理を実行するための記述がされている。鍵９２−１および９２−２は、スクリプトを実行する上で必要となる鍵であり、ＩＣカード５１（図２）との間のデータ授受において、共通鍵となるものである。これらの鍵９２−１と９２−２は、１つのスクリプトに対して１つとは定められておらず、同じドメインであれば共用されることもある。例えば、スクリプト９１−１とスクリプト９１−２を実行する上で鍵９２−１が利用され、スクリプト９１−３を実行する上で鍵９２−２が利用される。
【００５５】
フラッシュメモリ７４の記憶領域８２Ａ（ドメイン８２用の記憶領域）には、スクリプト９３−１および９３−２、並びに鍵９４が記憶されている。スクリプト９３−１および９３−２は、ドメインＩＤに対応するサービス提供者により提供される、所定の処理を実行するための記述がされている。鍵９４は、スクリプトを実行する上で必要となる鍵であり、ＩＣカード５１（図２）との間のデータ授受において、共通鍵となるものである。
鍵９４も、鍵９２−１および９２−２と同様に、１つのスクリプトに対して１つとは定められておらず、同じドメインであれば共用されることもある。この例の場合、例えば、スクリプト９３−１とスクリプト９３−２を実行する上で鍵９４が利用される。
【００５６】
なお、以下において、スクリプト９１−１乃至９１−３を個々に区別する必要がない場合、スクリプト９１と称し、鍵９２−１および９２−２を個々に区別する必要がない場合、鍵９２と称する。また、スクリプト９３−１および９３−２を個々に区別する必要がない場合、スクリプト９３と称する。
【００５７】
RAM７５の記憶領域には、実行するスクリプトや鍵を保持する領域である実行領域８３が設けられている。RAM７５の実行領域８３には、複数のスクリプトや鍵を記憶させることはできるが、ただ１つのドメインに関するスクリプトや鍵しか記憶させることができない。この１つのドメインが実行ドメインである。すなわち、RAM７５の実行領域８３は、１つのドメインに対応する１つまたは複数のスクリプトを実行させるために保持するメモリの領域である。また、実行領域８３に記憶される複数のスクリプトや鍵は、いずれも、同じドメインＩＤを有している。換言すれば、実行領域８３に記憶される複数のスクリプトや鍵は、いずれも、同じサービス提供者により提供されたものである。
【００５８】
例えば、ドメインＩＤおよびスクリプトＩＤとともにスクリプトの実行が指令された場合、ドメイン管理部７２からの制御に基づいて、スクリプトＩＤで特定されるスクリプトが、RAM７５の実行領域８３に記憶される。ドメイン管理部７２は、RAM７５の実行領域８３に記憶されているスクリプトに対応する（ドメインＩＤに対応する）ドメインを、実行ドメインとして把握するとともに、RAM７５の実行領域８３に格納したスクリプトに対応するスクリプトＩＤを把握する（例えば図示せぬ内部のメモリに保持する）。図３の例の場合、実行領域８３にはスクリプト９１−１と鍵９２−１が記憶されており、ドメイン管理部７２は、ドメイン８１を実行ドメインとして把握するとともに、スクリプト９１−１に対応するスクリプトＩＤを把握する。
【００５９】
カード制御部７６は、スクリプト制御部７３からの制御に基づいて、ＩＣカードリーダライタアンテナ４３を介して、ＩＣカード５１との間でデータを授受する。例えば、カード制御部７６は、スクリプト制御部７３からの制御に基づいて、ＩＣカードリーダライタアンテナ４３を介してＩＣカード５１から供給されてきたデータを受信する。また例えば、カード制御部７６は、スクリプト制御部７３からの制御に基づいて、ＩＣカードリーダライタアンテナ４３を介してＩＣカード５１にデータを送信させるよう制御する。
【００６０】
図３においては、ドメイン管理部７２とスクリプト制御部７３とが、互いにデータを授受し合うことがない構成となっており、ドメイン管理部７２への指令は主制御部７１が行い、スクリプト制御部７３への指令も主制御部７１が行なう。このようにすることで、ドメイン管理部７２が実行する処理と、スクリプト制御部７３が実行する処理とを独立させることができる。すなわち、ドメイン管理部７２とスクリプト制御部７３は、互いに干渉することがない。
【００６１】
次に、図４を参照して、図３の端末SAM４２の特徴について説明する。
【００６２】
最初に端末SAM４２の全体の特徴について説明する。
【００６３】
端末SAM４２は、第１に、スクリプト制御部７３と独立したドメイン管理部７２を有する。このことは、スクリプト制御部７３とドメイン管理部７２とが、それぞれ主制御部７１からの指令のみによって処理を実行しているからである。スクリプト制御部７３とドメイン管理部７２を独立させたことで、スクリプト制御部７３とドメイン管理部７２とが、それぞれ独立して処理を行なうことができる。例えば、スクリプト制御部７３とドメイン管理部７２とが異なるドメインに対する処理を行なうことができる。
【００６４】
第２に端末SAM４２は、独立した実行領域を有する。具体的には、端末SAM４２は、スクリプトや鍵を記憶するための記憶領域８１Ａや記憶領域８２Ａ（フラッシュメモリ７４）とは独立して、実行されるスクリプトや鍵を保持するための実行領域８３（RAM７５）を有している。これにより、スクリプト制御部７３がスクリプトを実行するために読み出しを行なう実行領域８３が、フラッシュメモリ７４とは異なる領域であるので、スクリプト制御部７３が誤って他のドメインのスクリプトを実行することがない。また、実行領域８３に複数のドメインのスクリプトが記憶されることもなく、ドメイン毎にスクリプトを安全に管理することができる。
【００６５】
第３に、端末SAM４２は、スクリプトを中間言語形式で扱う。これにより、スクリプト制御部７３は、端末SAM４２の（スクリプト制御部７３の）バージョンや種類が異なる場合においても、中間言語形式であれば、スクリプトを実行することができきる。
【００６６】
第４に、端末SAM４２は、ドメイン内における鍵を共有する。具体的には、端末SAM４２は、図３のドメイン８１内において鍵９２−１と９２−２を共有し、ドメイン８２において鍵９４を共有している。また、スクリプト９１内に鍵は格納されない。これにより、鍵９２を共通して利用することができる。また、鍵のみを更新する場合に、スクリプト９１まで更新する必要がないので、容易に鍵を更新することができる。さらに、スクリプト９１が盗まれても鍵が盗まれないこともあるため、より、安全性を向上させることができる。
【００６７】
次に、ドメイン管理部７２の特徴について説明する。
【００６８】
ドメイン管理部７２は、第１に、異なるドメインからのアクセスを保護する。例えば、ドメイン管理部７２は、実行ドメインとして設定されているドメインと、次に実行が指定されたドメインとが異なる場合、RAM７５の実行領域８３に記憶されている情報を全て消去する。これにより、RAM７５の実行領域８３に、異なるドメインのスクリプトが混在するのを防ぐことができる。
【００６９】
第２にドメイン管理部７２は、ドメインの記憶領域へのデータの格納時に暗号化を行なう。例えば、ドメイン管理部７２は、フラッシュメモリ７４のドメイン８１の記憶領域８１Ａへスクリプト９１−１を格納する場合、スクリプト９１−１を暗号化して格納する。これにより、たとえフラッシュメモリ７４の中身が、悪意のあるサービス提供者によって読み出された場合においても、スクリプトや鍵を守ることができる。
【００７０】
第３にドメイン管理部７２は、ドメインの記憶領域からのデータの読み出し時に復号を行なう。例えば、ドメイン管理部７２は、フラッシュメモリ７４のドメイン８１の記憶領域８１Ａからスクリプト９１−１を読み出す場合、読み出したスクリプト９１−１を復号する。これにより、復号されたスクリプト９１−１が実行領域８３に格納されることになるので、スクリプト制御部７３は、スクリプト９１−１を実行することができる。
【００７１】
第４にドメイン管理部７２は、実行ドメインを管理（把握）する。例えば、ドメイン管理部７２は、スクリプトの実行要求とともに指定されたスクリプトＩＤとドメインＩＤとに基づいて、実行ドメインを切り替える（把握する実行ドメインを変更する）。また、ドメイン管理部７２は、フラッシュメモリ７４に記憶されているドメインを管理する。実行ドメインは、常に、ただ１つのドメインであるので、実行ドメインの混在を防ぐことができる。
【００７２】
次に、スクリプト制御部７３の特徴について説明する。
【００７３】
スクリプト制御部７３は、第１に、中間言語を実行コードに変更する機能を有する。これにより、端末SAM４２のバージョンや種類が異なる場合であっても、サービス提供者は、それぞれのバージョンや種類に合わせたスクリプトを生成する必要はなく、中間言語のスクリプトを作成するだけでよいので、スクリプト生成の処理コストを抑えることができる。
【００７４】
第２にスクリプト制御部７３は、RAM７５でスクリプトを実行する。すなわち、スクリプト制御部７３は、スクリプトや鍵が記憶されるフラッシュメモリ７４とは異なるメモリであるRAM７５においてスクリプトを実行するようにしたので、データの混在を防ぐことができる。また、RAM７５は、データの読み出し、書き込み速度が不揮発性メモリ（フラッシュメモリ７４）より速いため、スクリプトを迅速に実行することができる。
【００７５】
第３にスクリプト制御部７３は、実行領域８３に格納されているデータを再利用する。例えば、実行領域８３にスクリプト９１−１が格納されている状態で、主制御部７１からの制御に基づいてスクリプト９１−１を実行した後、再び連続して主制御部７１からスクリプト９１−１の実行が指令された場合に、既に格納されているスクリプト９１−１を再利用して実行する。これにより、１つの実行ドメインに関する処理であれば、同じスクリプトを連続してドメイン管理部７２が読み出す必要がないため、処理の負担を減らすことができる。また、この場合においては、端末SAM４２が専用端末機と同程度の処理速度を保つことができる。
【００７６】
次に、図５のフローチャートを参照して、図３の端末SAM４２がスクリプトを実行する場合の処理の例を説明する。なお、この処理は、図２の制御端末４１からスクリプトの実行要求、ドメインＩＤ、スクリプトＩＤ、およびパラメータが供給されたとき開始される。例えば、端末SAMクライアント１１の管理者（端末SAMクライアント１１を設置している店舗の店員）が、制御端末４１に対して、所定のＩＣカード５１（図２）の利用と、そのパラメータが指令したとき開始される。
【００７７】
ステップＳ３１において、主制御部７１は、制御端末４１から供給されてきたスクリプト実行要求、ドメインＩＤ、スクリプトＩＤ、およびパラメータの入力を受け付ける。パラメータとしては、例えば、ＩＣカードに貯められている金額から１００円を減額するというデータなどがある。例えば、ドメイン８１を特定するドメインＩＤと、スクリプト９１−１を特定するスクリプトＩＤが受け付けられる。
【００７８】
なお、本実施の形態では、主制御部７１が制御端末４１から供給される指令に基づいて処理を開始するようにしたが、例えば、図２のＩＣカードリーダライタアンテナ４３を介して供給されるようなデータに基づいて処理を開始するようにしてもよい。また、一部の指令を制御端末４１から受け付け、他の一部の指令を、ＩＣカードリーダライタアンテナ４３を介して受け付けるようにしてもよい。例えば、パラメータとスクリプト実行要求が制御端末４１を介して供給され、ドメインＩＤとスクリプトＩＤは、ＩＣカードリーダライタアンテナ４３を介して（ＩＣカード５１から）供給されるようにしてもよい。
【００７９】
ステップＳ３２において、主制御部７１は、ドメイン管理部７２に対して、ステップＳ３１の処理で受け付けられたドメインＩＤおよびスクリプトＩＤとともにスクリプトの読み出しを指令する。
【００８０】
これに対して、ドメイン管理部７２は、ステップＳ５１において、ドメインＩＤおよびスクリプトＩＤとともに、スクリプトの読み出しの指令を受け付ける。例えば、ドメイン８１を特定するドメインＩＤと、スクリプト９１−１を特定するスクリプトＩＤとともに、そのスクリプト（スクリプト９１−１）の読み出しの指令を受け付ける。
【００８１】
ステップＳ５２において、ドメイン管理部７２は、実行ドメインと同じドメイン内の読み出しであるか否かを判定する。ドメイン管理部７２は、RAM７５の実行領域８３に格納されているスクリプトに対応するドメインを、実行ドメインとして把握しているので、ドメイン管理部７２は、ステップＳ５１の処理で受け付けたドメインＩＤと、実行ドメインに対応するドメインＩＤが一致するか否かによりこれを判定する。ステップＳ５１の処理で受け付けたドメインＩＤと、実行ドメインに対応するドメインＩＤが一致する場合には、実行ドメインと同じドメイン内の読み出しであると判定し、一致しない場合には、実行ドメインと同じドメイン内の読み出しではない（すなわち、実行ドメインとは異なるドメイン内の読み出しである）と判定する。この例の場合、受け付けられたドメインＩＤはドメイン８１を特定するドメインＩＤであるので、実行ドメインがドメイン８１である場合にはYESと判定され、実行ドメインがドメイン８２である場合には、ＮＯと判定される。
【００８２】
ステップＳ５２において、実行ドメインと同じドメイン内の読み出しではないと判定された場合、ステップＳ５３において、ドメイン管理部７２は、RAM５３の内容を全て消去する。具体的には、ドメイン管理部７２は、RAM５３の実行領域８３に記憶されているデータを全て消去する。
【００８３】
ステップＳ５３において、ドメイン管理部７２は、実行ドメインを切り替える。すなわち、ステップＳ５１の処理で受け付けられたドメインＩＤに対応するドメインに、実行ドメインを切り替える。この例の場合、ドメイン管理部７２は、実行ドメインをドメイン８１に切り替える。
【００８４】
ステップＳ５３およびステップＳ５４の処理により、読み出しが指令されたドメインが実行ドメインとは異なる場合に、RAM７５の実行領域８３のデータが全て削除されるので、RAM７５の実行領域８３には、ステップＳ５１の時点において実行ドメインとして設定されていたドメインのデータが何もないことになる。
【００８５】
ステップＳ５２において、実行ドメインと同じドメイン内の読み出してあると判定された場合、またはステップＳ５４の処理の後、実行ドメインがステップＳ５１の処理で指定されたドメインＩＤに対応するドメインに設定されることになり、その後、処理はステップＳ５５に進む。
【００８６】
ステップＳ５５において、ドメイン管理部７２は、ステップＳ５１の処理で指定されたスクリプトＩＤに対応するスクリプトが、既にRAM７５の実行領域８３に記憶されているか否かを判定する。ドメイン管理部７２は、実行ドメインとともに、RAM７５の実行領域８３に記憶されているスクリプトに対応するスクリプトＩＤを把握しているので、指定されたスクリプトＩＤと同じスクリプトＩＤが、把握しているスクリプトＩＤの中にあるか否かを判定する。指定されたスクリプトが、まだRAM７５の実行領域８３に記憶されていないと判定された場合、処理は、ステップＳ５６に進む。なお、この処理がステップＳ５４の処理の後であった場合には、実行ドメインが切り替えられたばかりであるので、RAM７５の実行領域８３には何もスクリプトが記憶されていないので、ステップＳ５６に進む。
【００８７】
ステップＳ５６において、ドメイン管理部７２は、フラッシュメモリ７４からドメインＩＤおよびスクリプトＩＤに対応するスクリプトを読み出す。具体的には、ドメイン管理部７２は、まず、ドメインＩＤ（現在の実行ドメインに対応するドメインＩＤ、すなわち、ステップＳ５１の処理で指令されたドメインＩＤ）に対応するドメインを特定し、そのドメイン用の記憶領域の中から、スクリプトＩＤに対応するスクリプトを特定し、読み出す。ドメイン管理部７２は、例えば、ドメインＩＤに対応するドメイン８１を特定し、ドメイン８１用の記憶領域８１Ａの中から、スクリプトＩＤに対応するスクリプト９１−１を特定し、読み出す。なお、上述したように、読み出されたスクリプト９１−１は暗号化されている。
【００８８】
ステップＳ５７において、ドメイン管理部７２は、ステップＳ５５の処理で読み出したスクリプト（この例の場合、スクリプト９１−１）を復号する。
【００８９】
ステップＳ５８において、ドメイン管理部７２は、復号したスクリプト（すなわち、暗号化されていないスクリプト）を、RAM７５の実行領域８３に格納する。ドメイン管理部７２は、このときRAM７５の実行領域８３に格納したスクリプトに対応するスクリプトＩＤを把握する（図示せぬ内部のメモリに保持する）。
【００９０】
ステップＳ５５において、指定されたスクリプトが既にRAM７５の実行領域８３に記憶されていると判定された場合、またはステップＳ５８の処理の後の時点においては、指定されたスクリプトＩＤに対応するスクリプトがRAM７５の実行領域８３に記憶されたことになるので、その後、処理はステップＳ５９に進む。
【００９１】
ステップＳ５９において、ドメイン管理部７２は、スクリプト格納の完了を、主制御部７１に通知する。具体的には、ドメイン管理部７２は、読み出しが指令されたスクリプトＩＤに対応するスクリプトのRAM７５の実行領域８３への格納が完了したことを、主制御部７１に通知する。
【００９２】
これに対して、主制御部７１は、ステップＳ３３において、スクリプト格納の完了の通知を受け付ける。これにより、主制御部７１は、ステップＳ３２の処理の指令に対して、ドメイン管理部７２がスクリプトをRAM７５の実行領域８３に格納したことを確認することができる。
【００９３】
ステップＳ３４において、主制御部７１は、パラメータ（ステップＳ３１で受け付けたパラメータ）とスクリプトＩＤを指定し、スクリプトＩＤで特定される（スクリプトＩＤに対応する）スクリプト（RAM７５の実行領域８３に格納されているスクリプト）の実行をスクリプト制御部７３に指令する。なお、この処理では、主制御部７１がスクリプトＩＤを指定するようにしているが、指定しなくてもスクリプトが特定できるような場合、例えば、RAM７５の実行領域８３にスクリプトが１つしか記憶されていない状況においては、スクリプトＩＤを指定しないようにしてもよい。
【００９４】
これに対して、スクリプト制御部７３は、ステップＳ７１において、パラメータと、スクリプトＩＤで特定されるスクリプトの実行の指令とを受け付ける。
【００９５】
ステップＳ７２において、スクリプト制御部７３は、RAM７５の実行領域８３からスクリプトＩＤに対応するスクリプトを読み出す。主制御部７１から実行が指令されるスクリプトＩＤに対応するスクリプトは、ステップＳ５１乃至ステップＳ５８の処理によりドメイン管理部７２によってRAM７５の実行領域８３に記憶されるので、スクリプト制御部７３は、RAM７５の実行領域８３からスクリプトＩＤにより特定されるスクリプトを読み出すことができる。例えば、スクリプト制御部７３は、RAM７５の実行領域８３からスクリプトＩＤにより特定されるスクリプト９１−１を読み出す。
【００９６】
ステップＳ７３において、スクリプト制御部７３は、読み出したスクリプトを実行コードに変換する。ステップＳ７２の処理で読み出されたスクリプトは、中間言語形式であるので、スクリプト制御部７３は、中間言語形式のスクリプトを、実行コードに変換する。例えば、スクリプト制御部７３は、読み出した中間言語形式のスクリプト９１−１を、実行コードに変換する。
【００９７】
ステップＳ７４において、スクリプト制御部７３は、実行コードに変換されたスクリプトに基づいて、スクリプトに対応する鍵がRAM７５の実行領域８３に記憶されているか否かを判定する。例えば、スクリプト制御部７３は、実行コードに変換されたスクリプト９１−１を実行する場合に、ＩＣカード５１（図２）との間のデータの授受に利用される鍵９２−１（共通鍵）があるか否かを判定する。ステップＳ７４において、スクリプトに対応する鍵がRAM７５の実行領域８３に記憶されていないと判定された場合、ステップＳ７５において、スクリプト制御部７３は、主制御部７１に鍵を要求する。例えば、スクリプト制御部７３は、鍵を識別する情報とともに鍵の読み出し要求を主制御部７１に送信する。
【００９８】
これに対して主制御部７１は、ステップＳ３５において、スクリプト制御部７３からの鍵の要求を受け付け、ステップＳ３６において、鍵の読み出しをドメイン管理部７２に指令する。
【００９９】
この指令に対してドメイン管理部７２は、ステップＳ６０において、鍵の読み出しの指令を受け付ける。この鍵の読み出しの指令には、鍵を識別する情報（特定する情報）が含まれているので、ドメイン管理部７２は、ステップＳ６１において、鍵をフラッシュメモリ７４の記憶領域から読み出す。例えば、スクリプト９１−１に対応する鍵９２−１を識別する情報に基づいて、ドメイン管理部７２は、ドメイン８１の記憶領域８１Ａから、鍵９２−１を読み出す。勿論、読み出される鍵のドメインは、ステップＳ７１乃至ステップＳ７３の処理の対象となるスクリプトと同じドメインである（例えば、ドメイン８１）。読み出された鍵（例えば、鍵９２−１）は暗号化されているので、ステップＳ６２において、スクリプト制御部７３は、暗号化されている鍵（例えば、鍵９２−１）を復号し、ステップＳ６３において、復号した鍵を、RAM７５の実行領域８３に格納する。
【０１００】
ステップＳ６４において、ドメイン管理部７２は、鍵格納の完了を主制御部７１に通知する。ステップＳ６０乃至ステップＳ６４の処理により、読み出しが指令された鍵が読み出され、RAM７５の実行領域８３への記憶が行なわれる。
【０１０１】
ドメイン管理部７２によるステップＳ６４の通知に対して、主制御部７１は、ステップＳ３７において、鍵格納の完了の通知を受け付け、ステップＳ３８において、スクリプトの実行をスクリプト制御部７３に指令する。この指令は、ステップＳ３４の処理と同様の指令である。
【０１０２】
これに対して、スクリプト制御部７３は、ステップＳ７６において、スクリプトの実行の指令を受け付ける（ステップＳ７１の処理と同様）。
【０１０３】
ここまでの処理により、RAM７５の実行領域８３に、実行が要求されたスクリプトＩＤに対応するスクリプトと、スクリプトを実行する上で必要となる鍵が記憶（格納）されたことになる。例えば、図３に示されるように、RAM７５の実行領域８３にスクリプト９１−１と鍵９２−１とが記憶されたことになる。
【０１０４】
ステップＳ７４においてスクリプトに対応する鍵がRAM７５の実行領域８３に記憶されていると判定された場合、またはステップＳ７６の処理の後、ステップＳ７７において、スクリプト制御部７３は、RAM７５の実行領域８３から鍵を読み出し、ステップＳ７８において、パラメータに基づいてスクリプトを実行する。例えば、スクリプト制御部７３は、RAM７５の実行領域８３から鍵９２−１を読み出し、これと、パラメータを用いて、ステップＳ７３において実行コードに変換されたスクリプト９１−１を実行する。例えば、スクリプトにＩＣカード５１へのアクセスが記述されていた場合には、スクリプト制御部７３は、カード制御部７６を介して、ＩＣカードリーダライタアンテナ４３に所定のデータを送信させ、ＩＣカード５１との間でデータを授受する（スクリプトの実行に関する処理を実行する）。なお、鍵９２−１が実行コードに変換する必要があるようなデータであれば、スクリプト制御部７３は、これを実行コードに変換するようにすればよい。
【０１０５】
ステップＳ７９において、スクリプト制御部７３は、スクリプト実行結果を主制御部７１に通知する。例えば、スクリプト制御部７３は、パラメータに基づいて実行した結果を、主制御部７１に通知する。
【０１０６】
これに対して、主制御部７１は、ステップＳ３９において、スクリプト実行結果を受け付け、ステップＳ４０において、スクリプト実行結果を、制御端末４１に通知する。
【０１０７】
図５と図６の処理により、制御端末４１からの指令に基づいて、スクリプトを実行することができる。また、実行が要求されたスクリプトＩＤに対応するスクリプトが既にRAM７５の実行領域８３に記憶されている場合には、フラッシュメモリ７４から再度読み出したりせず、既にRAM７５の実行領域８３に記憶されているスクリプトを実行させるようにしたので、無駄な読み出しを避けることができる。このことは、スクリプトに対応する鍵がRAM７５の実行領域８３に記憶されている場合についても同様の効果を奏する。
【０１０８】
なお、ステップＳ７２の処理で、RAM７５の実行領域８３からスクリプトが読み出され、また、ステップＳ７７の処理で、RAM７５の実行領域８３から鍵が読み出されているが、読み出されたスクリプトと鍵はそのままRAM７５の実行領域８３に残ることになる。すなわち、RAM７５の実行領域８３に一度記憶されたデータは、ドメイン管理部７２によって消去されるか（例えば、ステップＳ５３）、端末SAM４２の電源がオフされるまで消去されることがない。このようにすることで、図５と図６の処理が実行された後、再び図５と図６の処理が実行された場合に、前回RAM７５の実行領域８３に記憶されたスクリプトを再利用することができる。これにより、スクリプトの初期動作（スクリプトをフラッシュメモリ７４の記憶領域から読み出し、RAM７５の実行領域８３に格納するまでの時間）を短縮することができる。ただし、実行ドメインが切り替えられた場合には、RAM７５の実行領域８３に記憶されているデータは消去（フラッシュ）されるので、再びスクリプトの読み出しが行なわれる。これにより、実行ドメインが切り替えられた後のドメイン内のスクリプトにどのような記述がされていたとしても、スクリプト制御部７３は、前の実行スクリプトの結果を参照したり、読み出したりすることができないため、安全にスクリプトや鍵を守ることができる。
【０１０９】
また、以上の例では、ドメイン管理部７２が実行ドメインだけでなく、RAM７５の実行領域８３に格納されているスクリプトＩＤをも把握するようにしたが、ドメイン管理部７２は、単に実行ドメインのみを把握し、RAM７５の実行領域８３に記憶されているスクリプトＩＤの把握は、スクリプト制御部７３が行なうようにしてもよい。また、ドメイン管理部７２が実行ドメインのみを把握するだけとし、スクリプト制御部７３もRAM７５の実行領域８３に格納されているスクリプトＩＤの把握をしていなくてもよい。この場合、スクリプト制御部７３は、ステップＳ７４乃至ステップＳ７７のように鍵の確認および要求を行なう処理を、スクリプトに対して実行するようにすればよい。具体的には、ステップＳ５４のドメイン管理部７２による処理の後、主制御部７１がスクリプト制御部７３にスクリプトＩＤに対応するスクリプトの実行を指令し、スクリプト制御部７３は、この指令に基づいてRAM７５の実行領域８３にスクリプトが記憶（格納）されているか否かを判定する。そして、スクリプトが記憶されていないと判定された場合には、主制御部７１に対してスクリプトを要求する。これに対して、主制御部７１は、スクリプトＩＤに対応するスクリプトの読み出しをドメイン管理部７２に対して指令し、ドメイン管理部７２は、この指令に基づいて、ステップＳ５６乃至ステップＳ５９の処理を実行する。このように、ドメイン管理部７２がスクリプトＩＤを把握しない構成とすることもできる。
【０１１０】
次に、図７のフローチャートを参照して、スクリプト制御部７３によりスクリプトが実行されている間に、スクリプトの更新が制御端末４１によって要求された場合における処理を説明する。なお、この処理は、図６のステップＳ７８の処理を、スクリプト制御部７３が実行している間に実行される処理である。
【０１１１】
ステップＳ９１において、主制御部７１は、スクリプト更新要求、ドメインＩＤ、スクリプトＩＤ、および更新データの入力を受け付ける。例えば、主制御部７１は、制御端末４１から供給される、スクリプト更新要求、ドメインＩＤ（例えば、ドメイン８２に対応するドメイン）、スクリプトＩＤ（例えば、スクリプト９３−１に対応するスクリプトＩＤ）、および更新データ（例えば、スクリプト９３−１を更新するためのスクリプト、以下においては、スクリプト９３−１'と称する）を受け付ける。
【０１１２】
このとき、スクリプト制御部７３は、ステップＳ１３１において、スクリプトが実行されている。また、ステップＳ１３１の処理は、ドメイン管理部７２の処理と並行して実行されている。例えば、ステップＳ１３１の処理は、ドメイン管理部７２によるステップＳ１１１乃至ステップＳ１１５の処理が終了するまで実行される。
【０１１３】
ステップＳ９２において、主制御部７１は、ドメインＩＤ、スクリプトＩＤ、更新データとともにスクリプトの更新をドメイン管理部７２に指令する。
【０１１４】
これに対してドメイン管理部７２は、ステップＳ１１１において、ドメインＩＤ、スクリプトＩＤ、更新データとともにスクリプトの更新の指令を受け付ける。例えば、ドメイン管理部７２は、ドメイン８２に対応するドメインＩＤ、スクリプト９３−１に対応するスクリプトＩＤ、更新データとしてのスクリプト９３−１'、およびスクリプト更新の指令を受け付ける。
【０１１５】
ステップＳ１１２において、ドメイン管理部７２は、実行ドメインと、ステップＳ１１１の処理で受け付けたドメインＩＤに対応するドメイン（更新が指令されたドメイン）が同じであるか否かを判定する。例えば、ドメイン管理部７２は、実行ドメインとしてドメイン８１を把握しており、受け付けたドメインＩＤに対応するドメインが８２である場合には、異なるドメインであると判定し、実行ドメインとしてドメイン８２を把握しており、受け付けたドメインＩＤに対応するドメインが８２である場合には、同じドメインであると判定する。ステップＳ１１２において、実行ドメインと更新が指令されたドメインが同じであると判定された場合、ステップＳ１１３に進み、ドメイン管理部７２は、更新が指令されたドメインが使用中であることを主制御部７１に通知し、処理を終了する。この通知を主制御部７１が受け取った場合、主制御部７１は、制御端末４１にこれを通知し、処理を終了する（図７のフローチャート上には記載していないが、ドメインが使用中であることを示す通知を主制御部７１が受け取った場合には、主制御部７１は、その旨を制御端末４１に通知し、処理を終了する）。
【０１１６】
ステップＳ１１２において実行ドメインと同じドメインの更新ではないと判定された場合、ステップＳ１１４において、ドメイン管理部７２は、更新データに基づいて、スクリプトを暗号化し、更新する。例えば、ドメイン管理部７２は、更新データであるスクリプト９３−１'を暗号化し、これをスクリプト９３−１として更新（上書き）する。
【０１１７】
ステップＳ１１５において、ドメイン管理部７２は、スクリプトの更新完了を、主制御部７１に対して通知する。
【０１１８】
これに対して主制御部７１は、ステップＳ９３において、スクリプトの更新完了の通知を受け付ける。すなわち、主制御部７１は、ステップＳ９２で指令した更新が完了したことを、ステップＳ９３の処理で確認する。
【０１１９】
ステップＳ９４において、主制御部７１は、スクリプトの更新結果（例えば、更新に成功したことを示す結果）を、制御端末４１に通知する。その後、処理は終了される。
【０１２０】
図７の処理により、現在スクリプトが実行されている場合であっても、実行ドメインと、更新が要求されたスクリプトが異なるドメインであれば、スクリプトを更新することができる。
【０１２１】
すなわち、端末SAM４２は、スクリプト制御部７３によりスクリプトが実行されているドメイン以外の処理要求であれば、受け付け、処理を実行することができる。換言すれば、停止状態のドメイン（スクリプトが実行されているドメイン以外のドメイン）内のスクリプトに対して、参照や更新の指令がなされた場合、端末SAM４２は実行中のドメインの処理の空いた時間を使って、その処理を受け付け、制御端末４１（サービス提供者）からの要求を受け付ける。これにより、端末SAM４２を停止することなくスクリプトの更新を行なうことができる。
【０１２２】
また、スクリプト制御部７３によりスクリプトが実行されている場合であっても、サービスの更新（スクリプトや鍵の更新）が可能となり、メンテナンスによる他のサービス提供者によるスクリプトの実行停止（サービス停止）の損失を避けることができる。
【０１２３】
なお、図７の例では、スクリプトを更新するようにしたが、鍵を更新するようにしてもよい。また、図７の例では、スクリプトの更新要求に対する処理としたが、スクリプト読み出し要求（制御端末４１を介するサービス提供者への読み出し要求）に対しても、同様の処理が実行される。
【０１２４】
次に、端末SAM４２の電源がオフとされた場合のフラッシュメモリ７４とRAM７５の状態について、図８を参照して説明する。なお、図８において横軸は時刻ｔを示している。
【０１２５】
時刻ｔ０において、フラッシュメモリ７４とRAM７５のそれぞれにデータが保持されている。例えば、フラッシュメモリ７４には、図３に示されるように、記憶領域８１Ａと８２Ａにそれぞれ対応するスクリプトと鍵が記憶されており、RAM７５にも実行領域８３に、スクリプト９１−１と鍵９２−１が記憶されている。
【０１２６】
時刻ｔ１は、端末SAM４２の電源がオフされた時刻を示している。時刻ｔ０から時刻ｔ１までの間に、フラッシュメモリ７４とRAM７５について、ともにデータの更新がない場合、フラッシュメモリ７４では、時刻ｔ０から保持していたデータがそのまま保持されるが、RAM７５では、時刻ｔ０から保持していたデータが消去される。このことは、RAM７５が、揮発性メモリであり、電力の供給がなくなると、データが保持できなくなる特性があるからである。
【０１２７】
これにより、悪意のあるサービス提供者や、何らかの事故によって、端末SAM４２の電源がオフされ、RAM７５の実行領域８３が盗まれるようなことがあったとしても、RAM７５には何も記憶されていないため、スクリプトや鍵のデータが盗まれることがない。ここで、フラッシュメモリ７４は、スクリプトや鍵のデータを保持しているが、ドメイン管理部７２により暗号化が行なわれているので、データそのものが盗まれたとしても、盗んだユーザは、そのデータを解析することが非常に困難であり、多大なコストと時間を必要とさせることによって、データを安全に保持することができる。
【０１２８】
以上のように、端末SAM４２が、サービスを提供するために実行されるスクリプト（例えば、プログラム）を、スクリプトが対応するドメイン毎（例えば、サービス毎）に記憶するフラッシュメモリ７４と、１つのドメインに対応する１つまたは複数のスクリプトを実行させるために保持するRAM７５と、プログラムの実行指示を取得する主制御部７１と、主制御部７１により取得された実行指示により指定されたサービスに対応する方法によって、実行指示により指定された、フラッシュメモリ７４に記憶されているプログラムを用いて、RAM７５に保持されている情報を更新するドメイン管理部７２と、主制御部７１からの実行指示に基づいて、ドメイン管理部７２により情報が更新されたRAM７５に保持されている、実行指示により指定されたスクリプトを実行するスクリプト制御部７３とを備えるようにしたので、複数のサービス提供者からのスクリプトや鍵などの情報を、互いに干渉することなく、格納し、実行することができる。また、ＩＣカードに関する情報を、安全、かつ迅速に管理することができる。
【０１２９】
すなわち、ドメイン管理部７２とスクリプト制御部７３とを独立して動作させることにより、複数のサービス提供者からのスクリプトや鍵などの情報を、互いに干渉することなく、格納し、実行することができる。
【０１３０】
また、端末SAM４２は、スクリプトや鍵を格納しているサービス提供者（例えばサービス提供者Ａ）とは異なるサービス提供者（例えばサービス提供者Ｂ）がスクリプトや鍵を格納したり、実行する場合に、他のサービス提供者が格納している情報の流出を守ることができる。すなわち、複数のサービス提供者が提供するスクリプトや鍵を、安全、かつ、迅速に管理し、実行することができる。
【０１３１】
さらに、サービス提供者が提供するスクリプトや鍵の格納場所（図３のフラッシュメモリ７４）と、スクリプトを実行する場所（図３のRAM７５）とを独立させたことで、異なるサービス提供者に対して互いに干渉することなく、処理を実行することができる。
【０１３２】
また、スクリプトや鍵の格納（記憶）場所（図３のフラッシュメモリ７４の記憶領域）において、スクリプトと鍵を分けて管理するようにしたので（スクリプト内に鍵を埋め込まないため）、ドメイン内において複数のスクリプトにより鍵を共通利用することが可能となり、スクリプトの利便性を向上させることができる。なお、スクリプトと鍵を一緒に管理するようにしてもよい。この場合、例えば、スクリプトのヘッダ部に鍵が格納される。
【０１３３】
さらに、スクリプトを中間言語形式で扱うようにし、フラッシュメモリ７４にスクリプトを格納する場合には暗号化し（例えば、図７のステップＳ１１４）、スクリプトを実行する場合に、復号してRAM７５に展開（配置）するようにしたので（例えば、図５のステップＳ５７）、スクリプトを安全に保持することができる。また、電源がオフされた場合（電源断時）においても、復号されたスクリプト（RAM７５の実行領域８３に配置されたスクリプト）を消去するため、安全にスクリプトを保持することができる。また、実行するスクリプトは、書き込みや読み出し速度の速いRAM（揮発性メモリ）に格納するようにしたので、スクリプトの実行速度を早くすることができる。
【０１３４】
さらに、前回最後にスクリプトが実行されたスクリプトを提供したサービス提供者とは異なるサービス提供者により提供されたスクリプトを実行する場合には、RAM７５の実行領域８３を消去して切り替え、同一のサービス提供者により提供されたスクリプトが連続して実行される場合には、RAM７５の実行領域８３に格納されているスクリプトを再利用できるようにしたので、より、効率よく処理を実行することができる。また、連続して同じサービス提供者により提供されたスクリプトが実行される場合には、専用端末と同等の処理速度を保つことができる。
【０１３５】
また、サービス提供者（独立系サービスプロバイダ）は、安全にスクリプトを供給し、サービスを提供することができる。
【０１３６】
さらに、１台の端末SAM４２に、複数のサービス提供者から提供されるスクリプトや鍵を格納することができるので、サービス提供者は、端末の設置コストを削減することができる。また、端末を設置する店舗は、１台の端末SAM４２で複数のサービス提供者からのサービスを受けることができる。
【０１３７】
さらに、端末の複数台が併設されることを抑制し、サービス提供者の管理コストと利用者の混乱を抑えることができる。
【０１３８】
また、ＩＣカード側でスクリプトの実行を行なわず、ＩＣカードより処理能力のある端末SAM４２内でスクリプトを実行するようにしたので、サービス提供者は、より高速で安定したサービスを提供することができる。
【０１３９】
さらに、スクリプトが設定される端末SAM４２は制御端末４１を介してネットワーク１２に接続可能であるので（オンラインになるので）、サービス提供者は、スクリプトの提供や更新をネットワーク１２を介して、短期間に行なうことができる。
【０１４０】
また、ドメイン管理部７２とスクリプト制御部７３が独立しているので、安定して端末の運用を行なうことができる。
【０１４１】
さらに、中間言語形式のスクリプトを利用するようにしたので、サービス提供者は端末の機種に依存しないスクリプトを作成することができる。
【０１４２】
なお、以上の例では、フラッシュメモリ７４とRAM７５を例にして説明したが、フラッシュメモリ７４とRAM７５に限らず、不揮発性メモリと揮発性メモリであれば、どのようなメモリであってもよい。
【０１４３】
さらに、端末SAMクライアント１１は、情報を処理する情報処理装置であれば、他のものにも適用することができる。例えば、パーソナルコンピュータにＩＣカードリーダライタを設けたものを端末SAMクライアント１１としてもよい。
【０１４４】
また、以上の例では、スクリプトの実行について記載したが、各種の処理を実行するプログラムと読み替えることもできる。
【０１４５】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、上述した一連の処理は、図９に示されるようなパーソナルコンピュータ２５０により実行される。
【０１４６】
図９において、CPU２５１は、ROM２５２に記憶されているプログラム、または、記憶部２５８からRAM２５３にロードされたプログラムに従って各種の処理を実行する。RAM２５３にはまた、CPU２５１が各種の処理を実行する上において必要なデータなどが適宜記憶される。
【０１４７】
CPU２５１、ROM２５２、およびRAM２５３は、内部バス２５４を介して相互に接続されている。この内部バス２５４にはまた、入出力インターフェース２０５も接続されている。
【０１４８】
入出力インターフェース２５５には、キーボード、マウスなどよりなる入力部２５６、CRT，LCDなどよりなるディスプレイ、スピーカなどよりなる出力部２５７、ハードディスクなどより構成される記憶部２５８、並びに、モデム、ターミナルアダプタなどより構成される通信部２５９が接続されている。通信部２５９は、電話回線やCATVを含む各種のネットワークを介しての通信処理を行なう。
【０１４９】
入出力インターフェース２５５にはまた、必要に応じてドライブ２６１が接続され、磁気ディスク、光ディスク、光磁気ディスク、あるいは半導体メモリなどによりなるリムーバブルメディア２７１が適宜装着され、それから読み出されたコンピュータプログラムが、必要に応じて記憶部２５８にインストールされる。
【０１５０】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０１５１】
この記録媒体は、図９に示されるように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されているリムーバブルメディア２２１よりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM２５２や記憶部２５８が含まれるハードディスクなどで構成される。
【０１５２】
なお、本明細書において、コンピュータプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１５３】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０１５４】
【図１】本発明を適用した情報処理システムの全体の構成例を示す図である。
【図２】図１の端末SAMクライアントの機能的構成例を示す図である。
【図３】図２の端末SAMの機能的構成例を示すブロック図である。
【図４】図３の端末SAMの特徴を説明する図である。
【図５】スクリプトを実行する場合の処理を説明するフローチャートである。
【図６】スクリプトを実行する場合の処理を説明するフローチャートである。
【図７】スクリプトが実行されている間にスクリプトの更新が要求された場合の処理を説明するフローチャートである。
【図８】電源がオフされた場合のメモリの状態を説明するフローチャートである。
【図９】パーソナルコンピュータの構成を説明する図である。
【符号の説明】
【０１５５】
１  情報処理システム，  １１  端末SAMクライアント，  １４  サーバ，  ４１  制御端末，  ４２  端末SAM，  ４３  ＩＣカードリーダライタアンテナ，  ７１  主制御部，  ７２  ドメイン管理部，  ７３  スクリプト制御部，  ７４  フラッシュメモリ，  ７５  RAM，  ８１  ドメイン，  ８１Ａ  記憶領域，  ８２  ドメイン，  ８２Ａ  実行領域８３  実行領域，  ９１  スクリプト，  ９２  鍵，  ９３  スクリプト，  ９４  鍵
【図１】
2006031257.tif 000003
【図２】
2006031257.tif 000004
【図３】
2006031257.tif 000005
【図４】
2006031257.tif 000006
【図５】
2006031257.tif 000007
【図６】
2006031257.tif 000008
【図７】
2006031257.tif 000009
【図８】
2006031257.tif 000010
【図９】
2006031257.tif 000011