(57)【要約】【課題】ICチップの動作検証を、より効率的に行うことができるようにする。【解決手段】PC２２０には、検証ツール２２１と、SAM制御ツール２２２が実装される。検証ツール２２１は、デフォルトデータ２３１およびスクリプトパラメータ２３２を利用してICチップ３１１の動作検証を行うテストスクリプト２４１を生成し、SAM２７１を稼動させるためにSAM設定スクリプト２４４を生成し、SAM制御ツール２２２に供給する。SAM制御ツール２２２は、テストスクリプト２４１に従って、SAM２７１から、ICチップ３１１へのコマンドなどのデータを、ドライバ２５１等を介して送信する。SAM制御ツール２２２が受信したICチップ３１１からの応答コマンドは、実行ログ２４３として検証ツール２２１により分析されて、ICチップ３１１が期待通りに動作したか否かが判定される。【選択図】図３
2008070287.tif 000002
【特許請求の範囲】
【請求項１】
暗号モジュールと通信を行うICチップの動作検証を行う検証装置であって、
前記暗号モジュールを制御し、動作検証において必要となるコマンドのデータを、前記暗号モジュールにより生成させる暗号モジュール制御手段と、
前記暗号モジュール制御手段が、前記暗号モジュールを制御するためのスクリプトを生成するスクリプト生成手段とを備える
検証装置。
【請求項２】
前記スクリプト生成手段は、
前記暗号モジュールの初期設定を行うための設定スクリプトと、
前記暗号モジュールに、動作検証において必要となるコマンドを生成させるためのテストスクリプトとを生成する
請求項１に記載の検証装置。
【請求項３】
前記スクリプト生成手段は、
前記設定スクリプトおよび前記テストスクリプトを生成するための設定値により構成されるスクリプトパラメータと、予め記憶されているテンプレートとに基づいて、前記設定スクリプトおよび前記テストスクリプトを生成する
請求項２に記載の検証装置。
【請求項４】
前記スクリプト生成手段は、
予め動作検証が完了したICチップに対応する情報に基づいて、前記動作検証が完了したICチップに対応する前記スクリプトパラメータを生成し、
ユーザが前記スクリプトパラメータを変更することにより、動作検証を実施すべきICチップに対応する前記設定スクリプトおよび前記テストスクリプトを生成する
請求項３に記載の検証装置。
【請求項５】
前記テストスクリプトに基づいて、前記暗号モジュールが前記ICチップに送信したコマンドに対応して、前記ICチップが前記暗号モジュールに対して送信した応答のデータを取得し、前記応答が想定通りの応答であるか否かを判定する判定手段をさらに備え、
前記判定手段により、前記応答が想定通りの応答ではないと判定された場合、動作検証を中止する
請求項４に記載の検証装置。
【請求項６】
暗号モジュールと通信を行うICチップの動作検証を行う検証装置の検証方法であって、
前記暗号モジュールを制御し、動作検証において必要となるコマンドのデータを、前記暗号モジュールにより生成させる暗号モジュール制御手段が、前記暗号モジュールを制御するためのスクリプトを生成し、
前記生成されたスクリプトに基づいて、前記暗号モジュール制御手段に、動作検証において必要となるコマンドのデータを生成させて前記ICチップの動作を検証する
ステップを含む検証方法。
【請求項７】
暗号モジュールと通信を行うICチップの動作検証を行う検証装置に検証処理を実行させるプログラムであって、
前記暗号モジュールを制御し、動作検証において必要となるコマンドのデータを、前記暗号モジュールにより生成させる暗号モジュール制御手段が、前記暗号モジュールを制御するためのスクリプトの生成を制御し、
前記生成されたスクリプトに基づいて、前記暗号モジュール制御手段に、動作検証において必要となるコマンドのデータを生成させて前記ICチップの動作の検証を制御する
ステップを含むコンピュータが読み取り可能なプログラム。
【請求項８】
請求項７に記載のプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証装置および方法、プログラム、並びに記録媒体に関し、特に、ICチップの動作検証を、より効率的に行うことができるようにする検証装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
近年、ICカードの普及が目覚しい。例えば、非接触型ＩＣカードとして、乗車券、プリペイドカードなどに利用されるものが普及している。また、ＩＣカードを用いてインターネットなどのネットワークを介した取引を行う通信システムが開発されており、このような通信システムでは、サーバが、例えばＩＣカードのリーダライタやパーソナルコンピュータからＩＣカードを用いた処理要求を受け、ユーザの認証やデータの暗号化及び復号などの処理を行う。
【０００３】
このような通信システムでは、多数のＩＣカードについての処理要求を同時あるいは短時間にサーバが受けることが想定され、また、サーバは、複数の決済事業者に係わる手続き処理をそれぞれ行う複数のアプリケーションプログラムを実行し、処理要求に応じて、選択したアプリケーションプログラムを用いた処理を行う必要がある。そこで、多数の処理要求に応じた処理を効率的に行うことができるデータ処理方法および半導体回路を提供する技術が提案されている（例えば、特許文献１参照）。
【０００４】
特許文献１の技術によれば、暗号モジュールの機能により、ICカードを用いてサービスを提供する事業者が、自らのアプリケーションプログラムを、スクリプトプログラムによりカスタマイズできるようになされている。すなわち、鍵情報やＩＣカードを直接操作する操作コマンドなどの秘匿性の高い情報を事業者に知らせることなく、これらの事業者が自らのアプリケーションプログラムをカスタマイズできる。
【特許文献１】特開２００２−２４４８６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、ICカードは、予め定められた仕様で製造されたICチップを、カードまたは携帯電話機などに組み込むことで構成されている。このように構成されるICカードにおいては、ICチップが仕様通りに動作するかを、ICチップの出荷前に検証する必要があり、各種のツールなどを利用したICチップの動作検証が行われている。
【０００６】
上述したような、暗号モジュールの機能を利用するICチップにおいては、当然、暗号モジュールを介した動作検証を行う必要があり、従来の動作検証では、暗号モジュール本体に付属の動作検証用ツールを用いて動作検証を行っていた。
【０００７】
しかしながら、検証対象となるICチップの仕様が変更されるなどした場合、ICチップの新たな仕様に合せて、ツールのスクリプトの修正作業や暗号モジュールへのパラメータ設定等の作業を逐一行う必要がある。このような作業は、スクリプトを記述する言語や暗号モジュールの仕様に深い造詣がある開発者でしか対応できず、作業に時間がかかる難点があった。
【０００８】
一方、ICカードの普及に伴って、新たな仕様のICチップも急増しており、これらのICチップについて、例えば、原理試作、試作、量産などの開発工程フェーズ毎に動作検証作業を複数回実施する必要があり、動作検証に伴う負担が増してきている。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、ICチップの動作検証を、より効率的に行うことができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の一側面は、暗号モジュールと通信を行うICチップの動作検証を行う検証装置であって、前記暗号モジュールを制御し、動作検証において必要となるコマンドのデータを、前記暗号モジュールにより生成させる暗号モジュール制御手段と、前記暗号モジュール制御手段が、前記暗号モジュールを制御するためのスクリプトを生成するスクリプト生成手段とを備える検証装置である。
【００１１】
前記スクリプト生成手段は、前記暗号モジュールの初期設定を行うための設定スクリプトと、前記暗号モジュールに、動作検証において必要となるコマンドを生成させるためのテストスクリプトとを生成するようにすることができる。
【００１２】
前記スクリプト生成手段は、前記設定スクリプトおよび前記テストスクリプトを生成するための設定値により構成されるスクリプトパラメータと、予め記憶されているテンプレートとに基づいて、前記設定スクリプトおよび前記テストスクリプトを生成するようにすることができる。
【００１３】
前記スクリプト生成手段は、予め動作検証が完了したICチップに対応する情報に基づいて、前記動作検証が完了したICチップに対応する前記スクリプトパラメータを生成し、ユーザが前記スクリプトパラメータを変更することにより、動作検証を実施すべきICチップに対応する前記設定スクリプトおよび前記テストスクリプトを生成するようにすることができる。
【００１４】
前記テストスクリプトに基づいて、前記暗号モジュールが前記ICチップに送信したコマンドに対応して、前記ICチップが前記暗号モジュールに対して送信した応答のデータを取得し、前記応答が想定通りの応答であるか否かを判定する判定手段をさらに備え、前記判定手段により、前記応答が想定通りの応答ではないと判定された場合、動作検証を中止するようにすることができる。
【００１５】
本発明の一側面は、暗号モジュールと通信を行うICチップの動作検証を行う検証装置の検証方法であって、前記暗号モジュールを制御し、動作検証において必要となるコマンドのデータを、前記暗号モジュールにより生成させる暗号モジュール制御手段が、前記暗号モジュールを制御するためのスクリプトを生成し、前記生成されたスクリプトに基づいて、前記暗号モジュール制御手段に、動作検証において必要となるコマンドのデータを生成させて前記ICチップの動作を検証するステップを含む検証方法である。
【００１６】
本発明の一側面は、暗号モジュールと通信を行うICチップの動作検証を行う検証装置に検証処理を実行させるプログラムであって、前記暗号モジュールを制御し、動作検証において必要となるコマンドのデータを、前記暗号モジュールにより生成させる暗号モジュール制御手段が、前記暗号モジュールを制御するためのスクリプトの生成を制御し、前記生成されたスクリプトに基づいて、前記暗号モジュール制御手段に、動作検証において必要となるコマンドのデータを生成させて前記ICチップの動作の検証を制御するステップを含むコンピュータが読み取り可能なプログラムである。
【００１７】
本発明の一側面においては、前記暗号モジュールを制御し、動作検証において必要となるコマンドのデータを、前記暗号モジュールにより生成させる暗号モジュール制御手段が、前記暗号モジュールを制御するためのスクリプトが生成され、前記生成されたスクリプトに基づいて、前記暗号モジュール制御手段に、動作検証において必要となるコマンドのデータを生成させて前記ICチップの動作が検証される。
【発明の効果】
【００１８】
本発明によれば、ICチップの動作検証を、より効率的に行うことができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２０】
本発明の一側面の検証装置は、暗号モジュール（例えば、図３のSAM２７１）と通信を行うICチップ（例えば、図３のICチップ３１１）の動作検証を行う検証装置（例えば、図３のPC２２０）であって、前記暗号モジュールを制御し、動作検証において必要となるコマンドのデータを、前記暗号モジュールにより生成させる暗号モジュール制御手段（例えば、図３のSAM制御ツール２２２）と、前記暗号モジュール制御手段が、前記暗号モジュールを制御するためのスクリプトを生成するスクリプト生成手段（例えば、図３の検証ツール２２１）とを備える。
【００２１】
この検証装置は、前記スクリプト生成手段が、前記暗号モジュールの初期設定を行うための設定スクリプト（例えば、図４のSAM設定スクリプト２４４）と、前記暗号モジュールに、動作検証において必要となるコマンドを生成させるためのテストスクリプト（例えば、図４のテストスクリプト２４１）とを生成するようにすることができる。
【００２２】
この検証装置は、前記スクリプト生成手段が、前記設定スクリプトおよび前記テストスクリプトを生成するための設定値により構成されるスクリプトパラメータ（例えば、図４のスクリプトパラメータ２３２）と、予め記憶されているテンプレート（例えば、図４のスクリプトテンプレート２３５）とに基づいて、前記設定スクリプトおよび前記テストスクリプトを生成するようにすることができる。
【００２３】
この検証装置は、前記スクリプト生成手段が、予め動作検証が完了したICチップに対応する情報（例えば、図４のデフォルトデータ２３１）に基づいて、前記動作検証が完了したICチップに対応する前記スクリプトパラメータを生成し、ユーザが前記スクリプトパラメータを変更することにより、動作検証を実施すべきICチップに対応する前記設定スクリプトおよび前記テストスクリプトを生成するようにすることができる。
【００２４】
この検証装置は、前記テストスクリプトに基づいて、前記暗号モジュールが前記ICチップに送信したコマンドに対応して、前記ICチップが前記暗号モジュールに対して送信した応答のデータを取得し、前記応答が想定通りの応答であるか否かを判定する判定手段（例えば、図１３のステップS６０５の処理を実行する図３の検証ツール２２１）をさらに備え、前記判定手段により、前記応答が想定通りの応答ではないと判定された場合、動作検証を中止するようにすることができる。
【００２５】
本発明の一側面の検証方法は、暗号モジュール（例えば、図３のSAM２７１）と通信を行うICチップ（例えば、図３のICチップ３１１）の動作検証を行う検証装置（例えば、図３のPC２２０）の検証方法であって、前記暗号モジュールを制御し、動作検証において必要となるコマンドのデータを、前記暗号モジュールにより生成させる暗号モジュール制御手段（例えば、図３のSAM制御ツール２２２）が、前記暗号モジュールを制御するためのスクリプトを生成し（例えば、図１２のステップS５０１乃至S５０６の処理）、前記生成されたスクリプトに基づいて、前記暗号モジュール制御手段に、動作検証において必要となるコマンドのデータを生成させて前記ICチップの動作を検証する（例えば、図１３のステップS６０１乃至S６０８の処理）ステップを含む。
【００２６】
以下、図面を参照して、本発明の実施の形態について説明する。
【００２７】
図１は、ICカードを利用した取引システムの構成例を示すブロック図である。
【００２８】
同図の取引システム１００においては、例えば、ユーザが携帯する非接触型のICカード１０２を用いて、所定のサービスが提供される。例えば、ユーザが、リーダライタなどが組み込まれた端末１１１に対して所定の操作などを行うことにより、ICカード１０２のICチップ１０１と、端末１１１のリーダライタが通信を行う。
【００２９】
また、事業者のセンター１３１に設置され、例えば、有料でコンテンツを提供するサービスを行うサーバ１４１は、端末１１１とネットワーク１２１を介して通信を行い、必要に応じてユーザが所望するコンテンツなどを送信する。そして、事業者は、サービスの対価（料金）としてICチップ１０１に記憶されている電子マネーの残高を減額するなどの処理を行う。
【００３０】
このとき、ICチップ１０１に記憶されている電子マネーの残高を減額するなどの処理に際して、高度なセキュリティが要求される。そこで、ICチップ１０１との通信を行うにあたっての相互認証処理、暗号化、復号などの一連の処理を実行するSAM（Secure Application Module）１４２がセンター１３１に設置されている。
【００３１】
SAM１４２は、暗号モジュールとも称され、例えば、サーバ１４１がSAM１４２に、電子マネーの残高の減額を指令する所定のコマンドなどのデータを送信することで、SAM１４２がICチップ１０１に対するアクセスの処理などを実行し、ICチップ１０１に記憶されている電子マネーの残高を減額するなどの処理が行われるので、例えば、ICチップ１０１の所定のリソースにアクセスするための鍵情報や操作コマンドなどの秘匿性の高い情報を事業者に知らせることなく、事業者が自らのアプリケーションプログラムをカスタマイズできるようになされている。
【００３２】
図２は、図１の取引システム１００における処理の流れの例を説明するアローチャートである。
【００３３】
同図においては、ステップS１６１において、端末１１１からサーバ１４１に対して処理開始要求が送信され、ステップS１３１においてサーバ１４１によりこれが受信される。
【００３４】
ステップS１３２において、サーバ１４１は、ICチップ１０１の所定の領域に記憶されている電子マネーの減額を要求するためのコマンドなどをSAM１４２に送信し、ステップS１０１において、SAM１４２によりこれが受信される。
【００３５】
SAM１４２は、ステップS１０２において、ICチップにおいて電子マネーの残高が記憶されている領域にアクセスするためのコマンド等を、ICチップ１０１に送信し、ステップS１９１においてICチップ１０１によりこれが受信される。
【００３６】
ステップS１９２において、ICチップ１０１は、ステップS１９１で受信したコマンドに対応する応答などをSAM１４２に送信し、ステップS１０３において、SAM１４２によりこれが受信される。そして、ICチップ１０１に記憶されている電子マネーの残高の減額処理が完了するまで、必要に応じて、ステップS１０２、S１９１、S１０３、およびS１９２に対応する処理が繰り返される。
【００３７】
ステップS１０４において、SAM１４２は、サーバ１４１に対してICチップ１０１に記憶されている電子マネーの残高の減額処理が完了したことを通知するデータなどを送信し、ステップS１３３において、サーバ１４１によりこれが受信される。これを受けて、ステップS１３４において、サーバ１４１から端末１１１に、所定のコンテンツなどサービスの対象となるデータが送信され、ステップS１６２において端末１１１によりこれが受信される。
【００３８】
このようにしてICチップ１０１を実装するICカード１０２を用いたサービスの提供が行われる。
【００３９】
ところで、近年、ICカードが普及し、多数の事業者が多様なサービスを提供するようになってきた。これに伴い、ICチップも、例えば、OS（Operating System）を変更するなどの仕様の変更が行われる頻度が高くなってきている。このように、仕様が変更されたICチップは、出荷前にその動作を検証しておく必要がある。すなわち、所定の条件で所定のコマンドを受信したとき、ICチップが期待通り動作するか否かを予め確認する必要がある。
【００４０】
図３は、上述したように、ICチップの動作検証を行うための検証システムの構成例を示すブロック図である。同図の検証システム２００においては、パーソナルコンピュータ（PC）２２０をユーザが操作することにより、ICチップ３１１の動作検証が行われるようになされている。
【００４１】
PC２２０には、本発明を適用した検証ツール２２１と、SAM２７１に所定の処理を実行させるためのSAM制御ツール２２２がソフトウェアとして実装されている。検証ツール２２１は、後述するデフォルトデータ２３１およびスクリプトパラメータ２３２を利用してICチップ３１１の動作検証を行うためのテストスクリプト２４１を生成するとともに、SAM２７１を稼動させるために必要となるSAM設定スクリプト２４４を生成し、SAM制御ツール２２２に供給する。また、検証ツール２２１は、必要に応じてSAM制御ツール２２２に処理の実行を指令するバッチコマンド２４２を供給する。
【００４２】
SAM制御ツール２２２は、テストスクリプト２４１に従って動作することにより、所定のインタフェースなどを介してSAM２７１と通信し、SAM２７１から、例えば、ICチップ３１１の所定のエリアにアクセスするためのコマンドなどのデータを受信し、そのコマンドなどを、ドライバ２５１を介して無線通信インタフェース２９１に供給する。
【００４３】
なお、検証システム２００においては、SAM制御ツール２２２として、例えば、SAM２７１の動作検証を実行するために従来より用いられていたツールをそのまま利用することが可能である。
【００４４】
無線通信インタフェース２９１は、非接触型ICカードのリーダライタに用いられるインタフェースであり、磁界を発生してICチップ３１１に無線によりコマンドを送信するようになされている。また、無線通信インタフェース２９１は、ICチップ３１１から無線により送信された応答のデータを受信し、ドライバ２５１を介してSAM制御ツール２２２に供給するようになされている。
【００４５】
SAM制御ツール２２２が受信したICチップ３１１からの応答コマンドは、実行ログ２４３として検証ツール２２１に供給される。
【００４６】
そして、検証ツール２２１は、実行ログ２４３の内容を分析するなどして、ICチップ３１１が期待通りに動作したか否かを判定する。また、検証ツール２２１は、自身が生成した各種のスクリプトなどをバックアップデータ２３３としてPC２２０内の所定の記録媒体などに保存するようになされている。
【００４７】
すなわち、検証システム２００においては、PC２２０により、図１の端末１１１、ネットワーク１２１、およびサーバ１４１の機能が擬似的に実現されていることになる。
【００４８】
図４と図５を参照してさらに詳しく説明する。図４は、検証ツール２２１による各種のスクリプトの生成を説明する図であり、図５は、図４に示される各種のデータ、ファイルなどを説明する表である。
【００４９】
最初に、デフォルトデータ２３１が検証ツール２２１に供給される。デフォルトデータは、過去に所定の仕様のICチップの検証に用いられたスクリプトパラメータ２３２の設定値を設定、または保存するためのテキストファイルであり、ICチップの個々の仕様毎に存在するものである。
【００５０】
例えば、OSのバージョンが「A-1」のICチップの動作検証に用いられたスクリプトパラメータ２３２の設定値を設定、または保存するためのテキストファイル、OSのバージョンが「B-1」のICチップの動作検証に用いられたスクリプトパラメータ２３２の設定値を設定、または保存するためのテキストファイル、・・・がそれぞれ、ICチップの仕様を表す情報（例えば、OSのバージョン）と対応付けられて、デフォルトデータとして所定の記録媒体などに記憶されている。
【００５１】
ユーザは、ICチップ３１１の動作検証を行うにあたり、最適なデフォルトデータを選択して検証ツール２２１に供給する。例えば、ICチップ３１１が、バージョン「A-1」のOSを改良したバージョン「A-2」のOSで稼動するICチップである場合、バージョン「A-1」の仕様に対応するデフォルトデータを選択して検証ツール２２１にそのデフォルトデータを読み込ませる操作を行う。
【００５２】
次に、検証ツール２２１は、ユーザにより選択されたデフォルトデータ２３１に基づいてスクリプトパラメータ２３２を生成する。スクリプトパラメータ２３２は、サブスクリプト２３６、サブスクリプト２３７、およびテストスクリプト２４１において用いられるスクリプトパラメータを記述したファイル（例えば、表計算ソフトのシート）である。スクリプトパラメータ２３２は、デフォルトデータ２３１とともに保存することも可能である。
【００５３】
ユーザは、検証ツール２２１により生成されたスクリプトパラメータ２３２を、必要に応じて変更する。すなわち、ユーザが選択したデフォルトデータから生成されたスクリプトパラメータ２３２は、バージョン「A-1」のOSで稼動するICチップの動作検証に用いられたものなので、このスクリプトパラメータを、バージョン「A-2」のOSで稼動するICチップ３１１の動作検証に用いるべく、ユーザが変更する。なお、スクリプトパラメータ２３２の変更は、PC２２０上で稼動する表計算ソフトなどを起動してファイル（シート）を編集することにより行われ、具体的な変更箇所等の詳細については後述する。
【００５４】
ユーザによるスクリプトパラメータ２３２の変更（編集）が完了した後、検証ツール２２１は、その変更されたスクリプトパラメータ２３２と、スクリプトテンプレート２３５に基づいて、テストスクリプト２４１、並びにサブスクリプト２３６および２３７とを生成する。
【００５５】
スクリプトテンプレート２３５は、テストスクリプト２４１またはサブスクリプト２３６若しくは２３７の基となるテキストファイル（雛形）である。スクリプトテンプレート２３５は、例えば、全ての仕様のICチップの動作検証において共通に用いられるファイルとして予め所定の記録媒体などに記憶されている。
【００５６】
サブスクリプト２３６は、「APリソース登録」のサブスクリプトとされ、後述するSAM設定スクリプト２４４の部品として使用されるテキストファイルとされる。ここで、「APリソース登録」とは、SAM２７１に対する各種のパラメータ、鍵情報などの設定を表す。
【００５７】
サブスクリプト２３７は、「エリア／サービス登録」のサブスクリプトとされ、テストスクリプト２４１の部品として使用されるテキストファイルとされる。ここで、「エリア／サービス登録」とは、ICチップ３１１に対する各種のパラメータ、鍵情報などを含む設定の処理を表す。
【００５８】
なお、ICチップ３１１においては、アクセスが制限されているメモリ領域について、それに割り当てられた所定の鍵または暗証コード等に基づいてそのメモリ領域へのアクセスが認証されてから処理が開始されるようになされており、メモリ領域が「システム」および「エリア」という概念的範囲に基づいて管理され、メモリ領域へアクセスする処理動作が、「サービス」という概念で管理されるようになされている。そして、「システム」に従属して、「エリア」が設けられ、「エリア」に従属して所定の認証コードを用いる「サービス」がそれぞれ登録されるようになされている。
【００５９】
暗証コードへのアクセスも１つのサービス（PINサービスと称する）であり、そのPINサービスによってアクセスされるメモリ領域は、暗証データ等が格納されるデータブロックから構成され、そのメモリ領域には、PINサービスを定義する定義ブロックが対応付けられている。所定のブロックコードが割り当てられて生成されたサービスに対応するブロック（定義ブロック、データブロック）は、所定のメモリ領域の所定の物理アドレスに記憶されている。サービスに対応する各ブロックのブロックコードは、例えば、階層構造に応じた順番に論理アドレスが対応付けられる。
【００６０】
サービスに対応するブロックがメモリ領域の所定の物理アドレスに記憶され、そのブロックのブロックコードに、所定の論理アドレスが対応付けられ、そして物理アドレスが、論理アドレスに対応付けられて記憶されることで、エリア／サービス登録がなされる。
【００６１】
テストスクリプト２４１は、SAM制御ツール２２２に供給されるコマンドスクリプトを記述したテキストファイルとされ、サブスクリプト２３７を呼び出す親スクリプトとしても用いられる。
【００６２】
SAM設定スクリプト２４４は、例えば、検証ツール２２１により、サブスクリプト２３６の生成に伴って生成されるテキストファイルとされ、SAM制御ツール２２２によってなされるSAM２７１の初期設定などで必要となるスクリプトであって、SAM２７１への各種のパラメータ、鍵情報などの設定を行うためのスクリプトが記述されている。また、SAM設定スクリプト２４４には、例えば、SAM２７１のリソースの初期化を行う処理のスクリプトが記述されており、また、サブスクリプト２３６を呼び出す親スクリプトとしても用いられる。
【００６３】
なお、ICチップ３１１は、製造工程における製造ID「IDm」、製造パラメータ「PMm」が設定された発行済みの状態であり、かつ、図６に示されるように、システム0（パーティション0のシステム）のシステムコードと、システム0およびエリア0000の鍵バージョン、鍵値が設定されていることが必要である。なお、ICチップ３１１の製造ID「IDm」、製造パラメータ「PMm」、およびシステムコードなどの情報は、検証の実行に先立って、検証ツール２２１がICチップ３１１から自動的に取得するものとする。
【００６４】
図７は、図４に示される各種のスクリプトをさらに詳細に説明する図である。
【００６５】
同図に示されるように、デフォルトデータ２３１には、例えば、ICチップのOSのバージョン「A−1」に対応するデフォルトデータ（バージョンA１デフォルトデータ）、ＩＣチップのＯＳのバージョン「B−１」に対応するデフォルトデータ（バージョンＢ１デフォルトデータ、・・・が存在し、各種のスクリプトの生成にあたって、ユーザにより選択されたデフォルトデータが用いられる。デフォルトデータ２３１に基づいて生成されるスクリプトパラメータ２３２は、「SAM・カード登録情報」、「検証項目リスト」、「検証コマンドデータ１」、「検証コマンドデータ２」、・・・「検証コマンドデータｎ」の情報により構成されている。
【００６６】
図８は、スクリプトパラメータ２３２を構成する情報を説明する表である。同図に示されるように、「SAM・カード登録情報」は、検証で使用するSAM２７１およびカード（いまの場合、ICチップ３１１）の登録情報とされ、具体的には、ICチップ３１１から取得した、システムコード、エリア００００の鍵バージョンと鍵値、エリア構成、サービス構成、エリア登録（実際に登録されているエリア）、サービス登録（実際に登録されているサービス）に関する情報と、別途SAM２７１から検証ツール２２１が取得した、パッケージ登録（SAM２７１を稼動させるときに、必要となる設定値など）に関する情報とされる。なお、パッケージ登録に関する情報は、SAM２７１がICチップ３１１に対して「発行」、「鍵変更」、「削除」、「分割」などのコマンドに関して必要となる設定値などが記述されている。
【００６７】
「検証項目リスト」は、後述するように、動作検証として実施すべき項目の一覧が記述されたリストとされる。
【００６８】
検証コマンドデータ１乃至検証コマンドデータｎは、それぞれ上述した「検証項目リスト」に対応する検証項目毎のコマンドデータとされる。具体的には、検証コマンドデータ１乃至検証コマンドデータｎのそれぞれは、カードフォーマット（カード（いまの場合、ICチップ３１１）の初期設定を行う処理）、相互認証リスト（ICチップ３１１とSAM２７１との間で行われる相互認証において必要となる設定値など）、およびコマンドパラメータに関する情報とされる。
【００６９】
このように構成されるスクリプトパラメータ２３２の「SAM・カード登録情報」に基づいて、サブスクリプト２３６の「パッケージ登録１」、・・・「パッケージ登録ｎ」が生成される。すなわち、上述した「SAM・カード登録情報」に含まれるパッケージ登録に関する情報として記述されている、SAM２７１がICチップ３１１に対して「発行」、「鍵変更」、「削除」、「分割」などのコマンドに関して必要となる設定値などに基づいて、個々に、それらの設定値を登録するためのスクリプトとして「パッケージ登録１」、・・・「パッケージ登録ｎ」が生成される。
【００７０】
また、スクリプトパラメータ２３２の「SAM・カード登録情報」に基づいて、サブスクリプト２３７の「エリア／サービス登録１」、・・・「エリア／サービス登録ｎ」が生成される。すなわち、上述した「SAM・カード登録情報」に含まれるエリア構成およびサービス構成に関する情報に基づいて、動作検証において必要となるエリアまたはサービスを、ICチップ３１１に登録するにあたって、個々に、それらのエリアまたはサービスを登録するためのスクリプトとして「エリア／サービス登録１」、・・・「エリア／サービス登録ｎ」が生成される。
【００７１】
スクリプトテンプレート２３５には、それぞれ、SAM制御ツール２２２がSAM２７１に対して送信すべきコマンド、またはSAM２７１がICチップ３１１に対して送信すべきコマンドを生成するためのスクリプトを記述するための領域が設けられている。例えば、スクリプトテンプレート１（第１番目のスクリプトテンプレートを表す）においては、「リソース初期化」、「APリソース登録」、「カード発行」、「エリア／サービス登録」、「相互認証」、および「検証コマンド」のコマンドを生成するためのスクリプトを記述するための領域が設けられている。
【００７２】
検証ツール２２１は、スクリプトパラメータ２３２に含まれる検証項目リストに基づいて、個々の検証項目において最適なスクリプトテンプレート（例えば、スクリプトテンプレート１）を選択し、選択されたスクリプトテンプレート１におけるコマンドを生成してSAM制御ツール２２２がSAM２７１に対して送信するため、またはSAM２７１がICチップ３１１に対して送信するためのスクリプトを記述するための領域に、スクリプトを書き込むことで、テストスクリプト２４１のテストスクリプト１（第１番目のテストスクリプトを表す）を生成する。
【００７３】
また、テストスクリプト２４１のテストスクリプト２乃至テストスクリプトｎも同様に生成される。
【００７４】
図９は、テストスクリプトの構成を説明する表である。同図に示されるようにテストスクリプト１乃至テストスクリプトｎのそれぞれにおいて、SAM２７１のリソース初期化のためのコマンドを生成して、そのコマンドをSAM制御ツール２２２がSAM２７１に対して送信するためのスクリプトがスクリプトテンプレート２３５に予め記述されているスクリプトに基づいて生成される。また、SAM２７１のAPリソース登録のためのコマンドを生成して、そのコマンドをSAM制御ツール２２２がSAM２７１に対して送信するためのスクリプトが、スクリプトテンプレート２３５に予め記述されているスクリプト、スクリプトパラメータ２３２のSAM・カード登録情報に含まれるパッケージ登録に関する情報、およびサブスクリプト２３６に含まれるスクリプト「パッケージ登録１」乃至「パッケージ登録ｎ」のいずれかに基づいて生成される。
【００７５】
さらに、カード発行のコマンドを生成して、そのコマンドをSAM２７１がICチップ３１１に対して送信するためのスクリプトが、スクリプトテンプレート２３５に予め記述されているスクリプトに基づいて生成される。また、エリア／サービス登録のコマンドを生成して、そのコマンドをSAM２７１がICチップ３１１に対して送信するためのスクリプトが、スクリプトパラメータ２３２のSAM・カード登録情報に含まれる情報、およびサブスクリプト２３７に含まれるスクリプト「エリア／サービス登録１」乃至「エリア／サービス登録ｎ」のいずれかに基づいて生成される。
【００７６】
さらに、相互認証のコマンドを生成して、そのコマンドをSAM２７１がICチップ３１１に対して送信するためのスクリプトがスクリプトテンプレート２３５に予め記述されているスクリプト、およびスクリプトパラメータ２３２の「検証コマンドデータ１」乃至「検証コマンドデータｎ」のいずれかに含まれる相互認証リストに基づいて生成される。また、検証コマンドを生成して、そのコマンドをSAM２７１がICチップ３１１に対して送信するためのスクリプトが、スクリプトテンプレート２３５に予め記述されているスクリプト、およびスクリプトパラメータ２３２の「検証コマンドデータ１」乃至「検証コマンドデータｎ」のいずれかに含まれるコマンドパラメータに基づいて生成される。
【００７７】
なお、検証ツール２２１は、テストスクリプト２４１を生成するとき、または過去に実施したカード用OS（ICチップのOS）以外のOSのICチップの検証を実施するために、ユーザがテストスクリプト２４１を直接修正（変更）した後に、カードコマンド（ICチップ３１１が受け付けるコマンド）の制限に基づいて、テストスクリプトの内容をチェックする。具体的には、例えば、PC２２０に予め記憶されているICチップ３１１のカードコマンドの制限に基づいて、図１０に示されるようなリストに従ってチェックを行う。図１０においては、「項目」として各種のコマンドまたは手順が記述されており、「内容」として、それらのコマンドおいて指定されるパラメータの最大値、若しくは最小値、または、それらの手順において指定されるべきパラメータの設定値などが記述されている。
【００７８】
例えば、検証ツール２２１は、テストスクリプト２４１により生成されるコマンドの中に、図１０の「項目」に記述されたコマンドがある場合、テストスクリプト２４１の記述により指定されるそのコマンドのパラメータが、図１０の「内容」に記述されたパラメータの最大値を超えていなかいか否か、または最小値に満たないか否かをチェックすることで、実際に生成されるコマンドが許容されるものであるか否かを判定し、実際に生成されるコマンドが許容されるものではないと判定された場合、例えば、PC２２０のディスプレイ上に警告メッセージを表示させる。なお、図１０の最下行に記載されている「Request Block Informationコマンド」に関するチェックは、特に指定されたICチップの検証のときにだけ行われる。
【００７９】
このようにしてテストスクリプト２４１が生成される。
【００８０】
図７に戻って、SAM設定スクリプト２４４は、リソース初期化のためのスクリプトと、APリソース登録のためのスクリプトにより構成されており、APリソース登録のためのスクリプトとして、サブスクリプト２３６のスクリプト「パッケージ登録１」乃至「パッケージ登録ｎ」の中から選択されたスクリプトが呼び出されるようになされている。
【００８１】
このようにしてSAM設定スクリプト２４４が生成される。
【００８２】
次に、ユーザによるスクリプトパラメータ２３２の変更について説明する。図８を参照して上述したように、スクリプトパラメータ２３２は、「SAM・カード登録情報」、「検証項目リスト」、および検証コマンドデータにより構成されている。「SAM・カード登録情報」のうちのパッケージ登録に関する情報、「検証項目リスト」、および「検証項目データ」は、必要に応じてユーザにより変更される。ここでは、「検証項目リスト」の変更の例について説明する。
【００８３】
図１１は、スクリプトパラメータ２３２を構成する「検証項目リスト」の例を示す図である。同図に示されるように、「検証項目リスト」は、例えば、表計算ソフトのシートなどとして構成され、動作検証ツール２２１による検証実施に伴ってSAM２７１からICチップ３１１に対して送信されるべきコマンド、それらのコマンドに与えられるパラメータ等、および検証を実施するか否かを表す情報がそれぞれ対応付けられて構成されている。
【００８４】
この例では、検証項目リストの表の各行においてNo.１、No.２、・・・No.１３、・・・の検証項目が記載されており、例えば、No.1（第１番目の検証項目を表している）の行では、「コマンド」の列に、「HandShake」、「Change Key」と記載されており、「パラメータ等」の列に、「カードフォーマット１（システム鍵変更）」と記載されており、「検証実施」の列に、「○」と記載されている。これは、SAM２７１と、ICチップ３１１との間で行われる認証などの処理で送信されるコマンド「HandShake」、および「Change Key」のコマンドパラメータを「カードフォーマット１（システム鍵変更）」としてICチップ３１１に送信するという検証項目を表すものであり、「検証実施」の列に「○」と記載されていることにより、この検証項目が実施されることを表している。
【００８５】
例えば、No.1の行に対応する検証項目の実施が不要と判断される場合、ユーザは、No.1の行における「検証実施」の列の記載を、「×」に変更する。これにより、No.1の行に対応する検証項目の実施、すなわち、コマンド「HandShake」、および「Change Key」のコマンドパラメータを「カードフォーマット１（システム鍵変更）」としてICチップ３１１に送信するという行為は行われないことになる。
【００８６】
同様に、その他の行においても、「コマンド」の列および「パラメータ等」の列に具体的なコマンドおよびコマンドパラメータが記載されており、「検証実施」の列に「○」または「×」として実施の是非が記載されている。
【００８７】
スクリプトパラメータ２３２は、上述したようにユーザが選択したデフォルトデータ２３１に対応して、検証ツール２２１により自動的に生成される。例えば、ICチップ３１１が、バージョン「A-1」のOSを改良したバージョン「A-2」のOSで稼動するICチップである場合、バージョン「A-1」の仕様に対応するデフォルトデータ２３１を選択して検証ツール２２１にそのデフォルトデータを読み込ませる操作を行うと、バージョン「A-1」のOSで稼動するICチップの動作検証において実行された「検証項目リスト」が自動的に生成される。
【００８８】
例えば、ユーザは、表計算ソフトを利用して、自動的に生成された「検証項目リスト」において「検証実施」の「○」または「×」を必要に応じて変更するようにする（表を編集する）ことで、バージョン「A-2」のOSで稼動するICチップ３１１に対する動作検証で実施すべき検証項目を簡単に生成することができる。
【００８９】
また、図１１の「コマンド」の列および「パラメータ等」の列に記載される具体的なコマンドおよびコマンドパラメータは検証ツール２２１により自動的に生成されるので、例えば、SAM２７１の仕様などについて詳細な知識がなくても、検証ツール２２１を利用してICチップ３１１に対する動作検証を簡単に行うことが可能となる。
【００９０】
なお、上述した検証項目の実行に伴ってICチップ３１１からSAM２７１に対して送信される応答のデータについて、期待通りにICチップ３１１が動作した場合に得られると想定されるデータ（想定応答値）が、例えば、検証項目ごとに記載されたリストなどがテストスクリプト２４１とともに生成される。これにより、検証結果の判定、すなわち、ICチップ３１１が想定通り応答（動作）したか否かの判定も簡単に行うことができる。
【００９１】
SAMの機能を利用するICチップにおいては、当然、SAMを介した動作検証を行う必要があり、従来の動作検証では、検証対象となるICチップの仕様が変更されるなどした場合、ICチップの新たな仕様に合せて、ツールのスクリプトの修正作業やSAMへのパラメータ設定等の作業を逐一行う必要がある。このような作業は、スクリプトを記述する言語やSAMの仕様に深い造詣がある開発者でしか対応できず、作業に時間がかかる難点があった。
【００９２】
本発明の検証ツール２２１によれば、ユーザは、デフォルトデータ２３１を選択し、スクリプトパラメータ２３２に簡単な変更を加えるだけで、テストスクリプト２４１と、SAM設定スクリプト２４４が自動的に生成される。したがって、例えば、スクリプトを記述する言語やSAM２７１の仕様に精通していないICチップ３１１の開発担当者などであっても、簡単に動作検証を行うことが可能となる。
【００９３】
次に、図１２のフローチャートを参照して、検証ツール２２１によるスクリプト生成処理について説明する。例えば、ユーザが検証ツール２２１のGUI（Graphical User Interface）などに基づいてPC２２０の図示せぬキーボード、マウスなどを操作して、スクリプト生成処理の実行を指令したとき実行される。
【００９４】
ステップS５０１において、検証ツール２２１は、デフォルトデータ２３１の入力を受け付ける。例えば、ユーザが検証ツール２２１のGUI（Graphical User Interface）などに基づいてPC２２０の図示せぬキーボード、マウスなどを操作して、デフォルトデータ２３１を選択し、検証ツール２２１に選択したデフォルトデータ２３１を読み込ませる操作を行うことにより、検証ツール２２１が、デフォルトデータ２３１の入力を受け付ける。
【００９５】
ステップS５０２において、検証ツール２２１は、ステップS５０１の処理で入力が受け付けられたデフォルトデータ２３１に基づいてスクリプトパラメータ２３２を生成する。
【００９６】
ステップS５０３において、検証ツール２２１は、ステップS５０２において生成されたスクリプトパラメータ２３２に対するユーザによる変更を受け付ける。このとき、例えば、PC２２０において表計算ソフトなどを稼動させ、ユーザによるスクリプトパラメータ２３２の変更（編集）が行われ、変更（編集）の作業が完了した後、ユーザが検証ツール２２１のGUI（Graphical User Interface）などに基づいてPC２２０のキーボード、マウスなどを操作してスクリプトパラメータ２３２の変更（編集）が完了した旨の指令などが入力される。
【００９７】
ステップS５０４において、検証ツール２２１は、ステップS５０３の処理を経たスクリプトパラメータ２３２、および予めPC２２０に記憶されているスクリプトテンプレート２３５に基づいて、サブスクリプト２３６およびサブスクリプト２３７、テストスクリプト２４１、並びにSAM設定スクリプト２４４を生成する。
【００９８】
ステップS５０５において、検証ツール２２１は、ステップS５０４の処理で生成されたテストスクリプト２４１の内容をチェックする。なお、過去に実施したカード用OS（ICチップのOS）以外のOSのICチップの検証を実施するために、ステップS５０４の処理で生成されたテストスクリプト２４１が、ユーザにより直接修正（変更）された場合も、同様にテストスクリプト２４１の記述内容がチェックされる。このとき、上述したように、検証ツール２２１は、例えば、PC２２０に予め記憶されているICチップ３１１のカードコマンド（ICチップ３１１が受け付けるコマンド）の制限に基づく、図１０に示されるようなリストに従ってチェックを行う。そして、検証ツール２２１は、テストスクリプト２４１の記述により指定されるそのコマンドのパラメータが、例えば、図１０の「内容」に記述されたパラメータの最大値を超えていなかいか否か、または最小値に満たないか否かをチェックすることで、実際に生成されるコマンドが許容されるものであるか否かを判定する。
【００９９】
ステップS５０６において、検証ツール２２１は、ステップS５０５の処理の結果、実際に生成されるコマンドが許容されるものではないと判定されたものについて、例えば、PC２２０のディスプレイ上に、そのエラー内容を表示させるとともに警告メッセージなどを表示させる。なお、エラーなしの場合、その旨がPC２２０のディスプレイ上に表示される。
【０１００】
このようにして各種のスクリプトが生成される。ユーザは、デフォルトデータ２３１を選択し、スクリプトパラメータ２３２に簡単な変更を加えるだけで、テストスクリプト２４１と、SAM設定スクリプト２４４が自動的に生成されるので、例えば、スクリプトを記述する言語やSAM２７１の仕様に精通していないICチップ３１１の開発担当者などであっても、簡単にスクリプトを生成することが可能となる。
【０１０１】
次に、図１３のフローチャートを参照して、検証ツール２２１による、ICチップ３１１の動作検証処理について説明する。この処理は、例えば、ユーザが検証ツール２２１のGUI（Graphical User Interface）などに基づいてPC２２０の図示せぬキーボード、マウスなどを操作して、動作検証処理の実行を指令したとき実行される。
【０１０２】
ステップS６０１において、検証ツール２２１は、図１２を参照して上述した処理により生成された、テストスクリプト２４１とSAM設定スクリプト２４４をSAM制御ツール２２２に実行させる。SAM設定スクリプト２４４の実行により、SAM２７１のリソースの初期化などが行われ、サブスクリプト２３６が適宜呼び出されて、SAM２７１への各種のパラメータ、鍵情報などの設定が行われる。テストスクリプト２４１の実行により、SAM２７１からICチップ３１１に対して動作検証のためのコマンドなどが送信される。
【０１０３】
ステップS６０２において、検証ツール２２１は、ステップS６０１の処理の結果、SAM２７１からICチップ３１１に送信された動作検証のためのコマンドなどに対するICチップ３１１からの応答のデータを、SAM制御ツール２２２を介して取得する。
【０１０４】
ステップS６０３において、検証ツール２２１は、ステップS６０２の処理による応答の取得ができたか否かを判定する。ステップS６０３において、応答が取得できたと判定された場合、処理は、ステップS６０４に進む。
【０１０５】
ステップS６０４において、検証ツール２２１は、ステップS６０２の処理で取得されたICチップ３１１からの応答を解析する。
【０１０６】
ステップS６０５において、検証ツール２２１は、ステップS６０４の処理による解析の結果、ICチップ３１１からの応答が想定通りの応答であったか否かを判定する。ICチップ３１１からの想定通りか否かは、例えば、テストスクリプト２４１とともに生成されるICチップ３１１からの想定応答値が検証項目ごとに記載されたリストなどに基づいて判定される。あるいはまた、ユーザが予め作成した、ICチップ３１１からの想定応答値のリストなどが検証ツール２２１に読み込まれて判定されるようにしてもよい。
【０１０７】
ステップS６０５において、ICチップ３１１からの応答が想定通りの応答であったと判定された場合、処理は、ステップS６０６に進み、検証ツール２２１は、検証結果をログファイルとして出力する。検証結果としては、例えば、検証項目を特定する情報と、その検証項目に対するICチップ３１１からの応答データ、および想定通りの応答であったことを表す情報などが記述される。
【０１０８】
ステップS６０７において、検証ツール２２１は、次の検証項目があるか否かを判定し、次の検証項目があると判定された場合、処理は、ステップS６０１に戻り、それ以後の処理が繰り返し実行される。
【０１０９】
一方、ステップS６０７において、次の検証項目がないと判定された場合、処理は終了する。
【０１１０】
なお、ステップS６０３において、応答が取得できなかったと判定された場合、すなわち、例えば、ステップS６０１の処理の実行後所定の時間が経過しても、ICチップ３１１が応答を送信してこない場合、または、ステップS６０５において、ICチップ３１１からの応答が想定通りの応答ではないと判定された場合、処理は、ステップS６０８に進む。
【０１１１】
ステップS６０８においては、例えば、検証項目を特定する情報、その検証項目に対するICチップ３１１からの応答データ（無応答の場合はその旨を記載）、および想定通りの応答ではなかったことを表す情報などが記述されたメッセージなどをPC２２０のディスプレイに表示させるなどのエラー処理が実行される。
【０１１２】
ステップS６０８の処理の後、動作検証処理は終了される。
【０１１３】
このようにして、動作検証処理が行われる。図１２を参照して上述した処理によりスクリプトが生成された後、ユーザは、動作検証の実行を指令するだけで、検証ツール２２１により動作検証処理が自動的に実行されるので、簡単に動作検証を行うことが可能となる。
【０１１４】
また、ステップS６０３において、応答が取得できなかったと判定された場合、または、ステップS６０５において、ICチップ３１１からの応答が想定通りの応答ではないと判定された場合、エラー処理が実行されて、動作検証処理は終了されるようにしたので、ICチップ３１１の動作状態を逐一確認しながら動作検証を行うことができ、ICチップ３１１の開発者にとっての利便性が向上する。
【０１１５】
勿論、全ての検証項目の実行が終了した後で、ICチップ３１１からの応答がなかった検証項目と、ICチップ３１１からの応答が想定通りの応答ではなかった検証項目とがエラー処理により表示されるようにすることも可能である。
【０１１６】
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば図１４に示されるような汎用のパーソナルコンピュータ７００などに、ネットワークや記録媒体からインストールされる。
【０１１７】
図１４において、CPU（Central Processing Unit）７０１は、ROM（Read Only Memory）７０２に記憶されているプログラム、または記憶部７０８からRAM（Random Access Memory）７０３にロードされたプログラムに従って各種の処理を実行する。RAM７０３にはまた、CPU７０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１１８】
CPU７０１、ROM７０２、およびRAM７０３は、バス７０４を介して相互に接続されている。このバス７０４にはまた、入出力インタフェース７０５も接続されている。
【０１１９】
入出力インタフェース７０５には、キーボード、マウスなどよりなる入力部７０６、CRT(Cathode Ray Tube)、ＬＣＤ(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部７０７、ハードディスクなどより構成される記憶部７０８、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部７０９が接続されている。通信部７０９は、インターネットを含むネットワークを介しての通信処理を行う。
【０１２０】
入出力インタフェース７０５にはまた、必要に応じてドライブ７１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア７１１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部７０８にインストールされる。
【０１２１】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア７１１などからなる記録媒体からインストールされる。
【０１２２】
なお、この記録媒体は、図１４に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フロッピディスク（登録商標）を含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア７１１により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM７０２や、記憶部７０８に含まれるハードディスクなどで構成されるものも含む。
【０１２３】
本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１２４】
【図１】ICカードを利用した取引システムの構成例を示すブロック図である。
【図２】図１の取引システムにおける処理の流れを説明するアローチャートである。
【図３】本発明を適用した、検証システムの構成例を示すブロック図である。
【図４】図３の検証ツールによる各種のスクリプトの生成を説明する図である。
【図５】図４に示される各種のデータ、ファイルなどを説明する表である。
【図６】ICチップの初期設定値を説明する図である。
【図７】図４の各種のスクリプトをさらに詳細に説明する図である。
【図８】スクリプトパラメータを構成する情報を説明する表である。
【図９】テストスクリプトの構成を説明する表である。
【図１０】テストスクリプトの内容をチェックするために用いられるリストの例を示す図である。
【図１１】スクリプトパラメータを構成する「検証項目リスト」の例を示す図である。
【図１２】スクリプト生成処理を説明するフローチャートである。
【図１３】動作検証処理を説明するフローチャートである。
【図１４】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
【０１２５】
１０１  ICチップ，  １０２  ICカード，  １４１  サーバ，  １４２  SAM，  ２００  検証システム，  ２２０  ＰＣ，  ２２１  検証ツール，  ２２２  SAM制御ツール，  ２３１  デフォルトデータ，  ２３２  スクリプトパラメータ，  ２３５  スクリプトテンプレート，  ２３６，２３７  サブスクリプト，  ２４１  テストスクリプト，  ２４４  SAM設定スクリプト
【図１】
2008070287.tif 000003
【図２】
2008070287.tif 000004
【図３】
2008070287.tif 000005
【図４】
2008070287.tif 000006
【図５】
2008070287.tif 000007
【図６】
2008070287.tif 000008
【図７】
2008070287.tif 000009
【図８】
2008070287.tif 000010
【図９】
2008070287.tif 000011
【図１０】
2008070287.tif 000012
【図１１】
2008070287.tif 000013
【図１２】
2008070287.tif 000014
【図１３】
2008070287.tif 000015
【図１４】
2008070287.tif 000016