(57)【特許請求の範囲】
【請求項１】
ホストコンピュータと、当該ホストコンピュータと無線通信により情報を交換可能な端末装置と、当該端末装置に装着され、当該端末装置とデータ転送が可能であり、当該端末装置を介して前記ホストコンピュータから受信したアプリケーションプログラムを実行するＩＣカードとを有する、通信システムであって、
前記ホストコンピュータは、前記ＩＣカードにおいて動作するアプリケーションプログラムを保持しており、
当該アプリケーションプログラムは、コード部とプログラム言語で記述されたデータが収容されるデータ部とで構成されており、
前記コード部には登録済アプリケーション提供識別子（ＲＩＤ）を含むアプリケーション識別子（ＡＩＤ）が記憶されており、
前記ホストコンピュータは、前記端末装置を介した前記ＩＣカードからのアプリケーションプログラムの送信要求に応答して、
前記ＩＣカードへの送信対象のアプリケーションプログラム全体に誤り符号処理を行い、
前記誤り符号処理したアプリケーションプログラムを所望の大きさの複数のコンポーネントに分割し、
前記複数に分割したコンポーネントを無線通信により前記端末装置に送信し、
前記端末装置は、前記ホストコンピュータから送信された前記コンポーネントを受信し、当該受信したコンポーネントを当該端末装置に装着されている前記ＩＣカードに転送し、
前記ＩＣカードは、
前記端末装置から転送された前記コンポーネントを受信する受信手段と、
アプリケーションプログラムを記憶する記憶部と、
信号処理手段と
を有し、
前記信号処理手段は、
前記記憶部に記憶された、前記登録済アプリケーション提供識別子（ＲＩＤ）を含むアプリケーション識別子（ＡＩＤ）を参照して、前記記憶部にアプリケーションプログラムの全てのコンポーネントが記憶されていない場合、未ロードのコンポーネントを送信する要求を前記端末装置を介して前記ホストコンピュータに要求し、
前記受信手段を介して入力された、前記端末装置から転送された複数のコンポーネントを前記記憶部に記憶し、
前記転送された複数のコンポーネントを統合して、前記ホストコンピュータにおいて分割する前の元のアプリケーションプログラムに対応するアプリケーションプログラムを復号し、
前記復号したアプリケーションプログラムに対して誤り符号検出処理を行い、
誤りが検出されない場合、前記受信処理を終了し、
誤りが検出された場合、
所定回数以内は前記ホストコンピュータに再度、そのコンポーネントの送信を要求し、
前記所定回数を越えた場合は、
前記ホストコンピュータからの前記送信を停止し、
前記記憶部に記憶したコンポーネントを前記記憶部から消去する、
通信システム。
【請求項２】
前記ＩＣカードの前記信号処理手段は、
前記受信手段で受信した前記コンポーネントに含まれるアプリケーション識別子（ＡＩＤ）が前記記憶部に記憶されている場合、
アプリケーションプログラムが実行可能か否かをチェックし、
実行可能な場合、前記アプリケーション識別子（ＡＩＤ）にロード済のデータをセットし、
実行不可の場合、有効なコンポーネントを調査し、前記アプリケーション識別子（ＡＩＤ）にロード済のコンポーネントを示す状態を示すデータをセットし、
前記受信手段で受信した前記コンポーネントに含まれる前記アプリケーション識別子（ＡＩＤ）が前記記憶部に記憶されていない場合、
前記アプリケーション識別子（ＡＩＤ）に新規ロード可能のデータをセットし、
前記ホストコンピュータに、前記アプリケーション識別子（ＡＩＤ）を送信する、  請求項１に記載の通信システム。
【請求項３】
前記ホストコンピュータは、前記送信対象のアプリケーションプログラム全体に暗号化処理を行い、当該暗号化処理後、誤り符号処理を行い、
前記ＩＣカードの信号処理手段は、前記統合したアプリケーションプログラムに復号処理を行い、誤り符号処理を行う、
請求項１に記載の通信システム。
【請求項４】
前記端末装置に前記ＩＣカードが装着されたとき、前記端末装置は装着されたＩＣカードの認証処理を行い、認証処理が正当なＩＣカードについて前記転送処理を行う、
請求項１〜３のいずれかに記載の通信システム。
【請求項５】
ホストコンピュータと、当該ホストコンピュータと無線通信により情報を交換可能な端末装置と、当該端末装置に装着され、当該端末装置とデータ転送が可能であり、当該端末装置を介して前記ホストコンピュータから受信したアプリケーションプログラムを実行するＩＣカードとを有する、通信システムにおけるアプリケーションプログラムの送信方法であって、
当該アプリケーションプログラムは前記ホストコンピュータに保持されており、
当該アプリケーションプログラムはコード部とプログラム言語で記述されたデータが収容されるデータ部とで構成されており、前記コード部には登録済アプリケーション提供識別子を含むアプリケーション識別子が格納されており、
前記ホストコンピュータは、前記端末装置を介した前記ＩＣカードからのアプリケーションプログラムの送信要求に応答して、
前記ＩＣカードへの送信対象のアプリケーションプログラム全体に誤り符号処理を行い、
前記誤り符号処理したアプリケーションプログラムを所望の大きさの複数のコンポーネントに分割し、
前記複数に分割したコンポーネントを無線通信により前記端末装置に送信し、
前記端末装置は、前記ホストコンピュータから送信された前記コンポーネントを受信し、当該受信したコンポーネントを当該端末装置に装着されている前記ＩＣカードに転送し、
前記ＩＣカードは、
記憶部に記憶された、前記登録済アプリケーション提供識別子（ＲＩＤ）を含むアプリケーション識別子（ＡＩＤ）を参照して、前記記憶部にアプリケーションプログラムの全てのコンポーネントが記憶されていない場合、未ロードのコンポーネントを送信する要求を前記端末装置を介して前記ホストコンピュータに要求し、
前記ホストコンピュータから送信され、前記端末装置を経由して転送された前記コンポーネントを受信し、
前記受信したコンポーネントを前記記憶部に記憶し、
前記転送された複数のコンポーネントを統合して、前記ホストコンピュータにおいて分割する前の元のアプリケーションプログラムに対応するアプリケーションプログラムを復号し、
前記復号したアプリケーションプログラムに対して誤り符号検出処理を行い、
誤りが検出されない場合、前記受信処理を終了し、
誤りが検出された場合、
所定回数以内は前記ホストコンピュータに再度、そのコンポーネントの送信を要求し、
前記所定回数を越えた場合は、
前記ホストコンピュータからの前記送信を停止し、
前記記憶部に記憶したコンポーネントを前記記憶部から消去する、
アプリケーションプログラムの送信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、たとえば、ＩＣカードで実行可能なアプリケーションプログラムを記憶し前記アプリケーションプログラムを分割して提供する通信システムと、アプリケーションプログラムの送信方法に関するものである。
【０００２】
【従来の技術】
集積技術等の発展につれて、ＣＰＵとメモリを内蔵したＩＣカードが実用され、注目を集めている。
【０００３】
上述のＩＣカードのメモリは、通常、読み出し専用メモリ（ＲＯＭ：Read Only Memory）、書き換え可能な不揮発性メモリ、たとえば、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory ）、およびＲＡＭ（Random Access Memory）を含む。
【０００４】
近年では、マルチアプリケーション型カードＯＳと言われるインタプリタを上述のメモリに常駐させた構成のマルチアプリケーション型ＩＣカードが知られている。
このようなインタプリタが搭載されたＩＣカードにおいては、プログラム言語で記述されたプログラムを、たとえば、上述のＥＥＰＲＯＭに記憶させることにより、カードにＯＳを搭載後、さらにカード発行後でも追加、および削除することができる。
【０００５】
また、上述のＩＣカードに高度な暗号化技術を持たせた、高いセキュリティ性を有するＩＣカードが知られている。
【０００６】
上述のＩＣカードは、その高いセキュリティ性を利用して、たとえば、インターネットや携帯電話等を経由して、商品やコンサートチケットなどを決済して購入する際に用いられる。
【０００７】
このＩＣカードでは、たとえば、ＩＣカード内にクレジットまたは電子財布等の働きをするアプリケーションプログラムがＥＥＰＲＯＭ等に記憶され、それを用いて決済の手続きが行われる。
【０００８】
たとえば、コンサートチケットを購入する場合には、上述したＩＣカードに、インターネットや携帯電話等を経由してチケットアプリケーションプログラムをダウンロードさせる。
このチケットアプリケーションプログラムには、たとえば、正当なチケット保有者であることを示す情報や、指定された座席などの情報が含まれている。
そして、このＩＣカードをコンサート会場の入り口で入場券の代わりに提示すると、チケットアプリケーションプログラムにより、たとえば、暗号化技術を用いて、上述の正当なチケット保有者であることを示す情報等の確認が行われる。
このため、上述のセキュリティ性の高いＩＣカードを用いることにより、チケットセンターに出向きチケットを入手する必要がなくなり、利便性が高くなる。
【０００９】
【発明が解決しようとする課題】
ところで、上述した従来のマルチアプリケーション型ＩＣカードでは、１つのアプリケーションプログラムをＩＣカード内に登録する場合には、そのアプリケーションプログラムが複数のコンポーネントに分割されてダウンロードされる。
【００１０】
たとえば、１つのアプリケーションプログラムはコード部およびデータ部で構成されており、通常、アプリケーションプログラム全体のデータサイズが３〜７ＫＢであり、上述した従来のＩＣカードに対するコマンドのデータ長が１〜２５５ｂｙｔｅｓであるために、分割されてＩＣカードにダウンロードされることになる。
【００１１】
たとえば、ＩＣカードに携帯電話等の電波を利用してアプリケーションプログラムをダウンロードする場合には、アプリケーションプログラムそのもののデータ量が、決済の手続きの際にやり取りされるデータ量よりも遙に大きく、ダウンロードするのに時間がかかる。
【００１２】
そして、電波の受信状態が悪い場合など、アプリケーションプログラムをダウンロードしている途中で、受信しているアプリケーションプログラムのデータが途切れてしまう場合がある。
【００１３】
しかしながら、従来のＩＣカードでは、上述した場合には、アプリケーションプログラムの大部分がＩＣカードにダウンロード済であった場合であっても、再度、最初からそのアプリケーションプログラムをダウンロードしなければならないという問題点がある。
また、このため、多くの時間がかかったり、携帯電話等ではより長い時間にわたって電話をかける必要があった。
【００１４】
また、ダウロードの途中で、たとえば、ＩＣカードが端末装置から引き抜かれる等の原因により、ダウンロードが中断された場合であっても、同様に、アプリケーションプログラムの大部分がＩＣカードにダウンロード済であった場合であっても、再度、最初からそのアプリケーションプログラムをダウンロードしなければならないという問題点がある。
【００１５】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、アプリケーションプログラム等のデータのダウンロードが中断された場合であっても、より短い時間で再度ダウンロードすることができる通信システムおよびアプリケーションプログラムの送信方法を提供することにある。
【００１６】
【課題を解決するための手段】
本発明によれば、ホストコンピュータと、当該ホストコンピュータと無線通信により情報を交換可能な端末装置と、当該端末装置に装着され、当該端末装置とデータ転送が可能であり、当該端末装置を介して前記ホストコンピュータから受信したアプリケーションプログラムを実行するＩＣカードとを有する、通信システムであって、
前記ホストコンピュータは、前記ＩＣカードにおいて動作するアプリケーションプログラムを保持しており、
当該アプリケーションプログラムは、コード部とプログラム言語で記述されたデータが収容されるデータ部とで構成されており、
前記コード部には登録済アプリケーション提供識別子（ＲＩＤ）を含むアプリケーション識別子（ＡＩＤ）が記憶されており、
前記ホストコンピュータは、前記端末装置を介した前記ＩＣカードからのアプリケーションプログラムの送信要求に応答して、
前記ＩＣカードへの送信対象のアプリケーションプログラム全体に誤り符号処理を行い、
前記誤り符号処理したアプリケーションプログラムを所望の大きさの複数のコンポーネントに分割し、
前記複数に分割したコンポーネントを無線通信により前記端末装置に送信し、
前記端末装置は、前記ホストコンピュータから送信された前記コンポーネントを受信し、当該受信したコンポーネントを当該端末装置に装着されている前記ＩＣカードに転送し、
前記ＩＣカードは、
前記端末装置から転送された前記コンポーネントを受信する受信手段と、
アプリケーションプログラムを記憶する記憶部と、
信号処理手段と
を有し、
前記信号処理手段は、
前記記憶部に記憶された、前記登録済アプリケーション提供識別子（ＲＩＤ）を含むアプリケーション識別子（ＡＩＤ）を参照して、前記記憶部にアプリケーションプログラムの全てのコンポーネントが記憶されていない場合、未ロードのコンポーネントを送信する要求を前記端末装置を介して前記ホストコンピュータに要求し、
前記受信手段を介して入力された、前記端末装置から転送された複数のコンポーネントを前記記憶部に記憶し、
前記転送された複数のコンポーネントを統合して、前記ホストコンピュータにおいて分割する前の元のアプリケーションプログラムに対応するアプリケーションプログラムを復号し、
前記復号したアプリケーションプログラムに対して誤り符号検出処理を行い、
誤りが検出されない場合、前記受信処理を終了し、
誤りが検出された場合、
所定回数以内は前記ホストコンピュータに再度、そのコンポーネントの送信を要求し、
前記所定回数を越えた場合は、
前記ホストコンピュータからの前記送信を停止し、
前記記憶部に記憶したコンポーネントを前記記憶部から消去する、
通信システムが提供される。
【００１７】
好適には、前記ＩＣカードの前記信号処理手段は、
前記受信手段で受信した前記コンポーネントに含まれるアプリケーション識別子（ＡＩＤ）が前記記憶部に記憶されている場合、
アプリケーションプログラムが実行可能か否かをチェックし、
実行可能な場合、前記アプリケーション識別子（ＡＩＤ）にロード済のデータをセットし、
実行不可の場合、有効なコンポーネントを調査し、前記アプリケーション識別子（ＡＩＤ）にロード済のコンポーネントを示す状態を示すデータをセットし、
前記受信手段で受信した前記コンポーネントに含まれる前記アプリケーション識別子（ＡＩＤ）が前記記憶部に記憶されていない場合、
前記アプリケーション識別子（ＡＩＤ）に新規ロード可能のデータをセットし、
前記ホストコンピュータに、前記アプリケーション識別子（ＡＩＤ）を送信する。
【００１８】
また好適には、前記ホストコンピュータは、前記送信対象のアプリケーションプログラム全体に暗号化処理を行い、当該暗号化処理後、誤り符号処理を行い、前記ＩＣカードの信号処理手段は、前記統合したアプリケーションプログラムに復号処理を行い、誤り符号処理を行う。
【００１９】
また好適には、前記端末装置に前記ＩＣカードが装着されたとき、前記端末装置は装着されたＩＣカードの認証処理を行い、認証処理が正当なＩＣカードについて前記転送処理を行う。
【００２０】
上記構成による本発明によれば、たとえば、ホストコンピュータには、ＩＣカードで実行可能なアプリケーションプログラムが記憶されている。
そして、そのアプリケーションプログラムを端末装置を介してＩＣカードに送信する場合には、所定の大きさに分割して送信される。
このとき、アプリケーションプログラムを暗号化してＩＣカードに送信することで、セキュリティ性が高くなる。
【００２１】
そして、ＩＣカードの受信手段では、端末装置を介してホストコンピュータにより分割されて送信されたアプリケーションプログラムが受信される。
記憶部では、受信手段で受信された分割されたアプリケーションプログラムが記憶される。
【００２２】
そして、受信手段がホストコンピュータにより送信されたアプリケーションプログラムを受信している途中で何らかの理由、たとえば、ホストコンピュータから端末装置への無線通信系統における伝送状態が悪い等の理由により、受信が中断した場合には、信号処理手段では、前記アプリケーションプログラムの正常に受信された部分以外の部分の再送要求を前記受信手段に送信させる。
【００２３】
また、信号処理手段では、前記アプリケーションプログラムが正常に受信されない場合には、所定の回数、たとえば、２回、再送要求を送信し、それでも正常に受信されない場合には、長時間に渡り伝送状態が良くないものとして、再送要求を打ち切り、記憶部に記憶されている正常に受信されたアプリケーションプログラムの部分を消去する。
【００２４】
また、信号処理手段は、受信手段が全ての暗号化され分割されたアプリケーションプログラムを受信した場合には、暗号化され分割されたアプリケーションプログラムを、統合し復号化する。こうすることにより、よりセキュリティ性が高くなる。
【００２５】
また、信号処理手段は、受信手段で分割されたアプリケーションプログラムが受信された場合には、分割されたアプリケーションプログラム毎に正常な構成であるか否かの確認処理を行い、または、受信手段で分割されたアプリケーションプログラムの全てが受信された場合には、アプリケーションプログラム全体が正常な構成であるか否かの確認処理を行う。
こうすることにより、アプリケーションプログラムの伝送途中での誤りや、構成上の誤りをなくすことができる。
【００２６】
また本発明によれば、ホストコンピュータと、当該ホストコンピュータと無線通信により情報を交換可能な端末装置と、当該端末装置に装着され、当該端末装置とデータ転送が可能であり、当該端末装置を介して前記ホストコンピュータから受信したアプリケーションプログラムを実行するＩＣカードとを有する、通信システムにおけるアプリケーションプログラムの送信方法であって、
当該アプリケーションプログラムは前記ホストコンピュータに保持されており、
当該アプリケーションプログラムはコード部とプログラム言語で記述されたデータが収容されるデータ部とで構成されており、前記コード部には登録済アプリケーション提供識別子を含むアプリケーション識別子が格納されており、
前記ホストコンピュータは、前記端末装置を介した前記ＩＣカードからのアプリケーションプログラムの送信要求に応答して、
前記ＩＣカードへの送信対象のアプリケーションプログラム全体に誤り符号処理を行い、
前記誤り符号処理したアプリケーションプログラムを所望の大きさの複数のコンポーネントに分割し、
前記複数に分割したコンポーネントを無線通信により前記端末装置に送信し、
前記端末装置は、前記ホストコンピュータから送信された前記コンポーネントを受信し、当該受信したコンポーネントを当該端末装置に装着されている前記ＩＣカードに転送し、
前記ＩＣカードは、
記憶部に記憶された、前記登録済アプリケーション提供識別子（ＲＩＤ）を含むアプリケーション識別子（ＡＩＤ）を参照して、前記記憶部にアプリケーションプログラムの全てのコンポーネントが記憶されていない場合、未ロードのコンポーネントを送信する要求を前記端末装置を介して前記ホストコンピュータに要求し、
前記ホストコンピュータから送信され、前記端末装置を経由して転送された前記コンポーネントを受信し、
前記受信したコンポーネントを前記記憶部に記憶し、
前記転送された複数のコンポーネントを統合して、前記ホストコンピュータにおいて分割する前の元のアプリケーションプログラムに対応するアプリケーションプログラムを復号し、
前記復号したアプリケーションプログラムに対して誤り符号検出処理を行い、
誤りが検出されない場合、前記受信処理を終了し、
誤りが検出された場合、
所定回数以内は前記ホストコンピュータに再度、そのコンポーネントの送信を要求し、
前記所定回数を越えた場合は、
前記ホストコンピュータからの前記送信を停止し、
前記記憶部に記憶したコンポーネントを前記記憶部から消去する、
アプリケーションプログラムの送信方法が提供される。
【００２７】
【発明の実施の形態】
図１は、本発明の通信システムの一実施の形態に係るＩＣカードアプリケーションプログラムロード装置を説明するための概略図である。
【００２８】
本実施の形態に係るＩＣカードアプリケーションプログラムロード装置１は、図１に示すように、ＩＣカード１０、ならびに、情報処理装置としての端末装置２０およびホストコンピュータ３０を有する。
【００２９】
ＩＣカード１０は、カード発行会社から発行および管理されて個人が携帯する特定の機能を有するＩＣカードである。
ＩＣカード１０は、たとえば、端末装置２０を介してホストコンピュータ３０からアプリケーションプログラム等のデータをダウンロードして、そのアプリケーションプログラムを実行し所望の処理を行う。また、ＩＣカード１０は、複数のアプリケーションプログラムを記憶することが可能である。
【００３０】
端末装置２０は、ＩＣカード発行会社や、サービスを提供する会社のホストコンピュータ３０に、無線等を用いてアクセスし、ホストコンピュータ３０と装着されたＩＣカード１０との間の通信データを転送する。たとえば、端末装置２０は、ＩＣカード１０のリーダライタの機能を有する携帯型電話である。
【００３１】
また、端末装置２０は、ＩＣカード１０が装着されると起動し、そして、ＩＣカード１０の認証処理、つまり、ＩＣカード１０が端末装置２０で処理可能か否かの処理を行う。そして、ＩＣカード１０が認定された場合には、端末装置２０を介して、ＩＣカード１０はホストコンピュータ３０と通信可能となる。
そして、端末装置２０は、ホストコンピュータ３０およびＩＣカード１０と通信を順次に行いながら、ホストコンピュータ３０より送信されたＩＣカード１０に対する処理を行う。
【００３２】
ホストコンピュータ３０は、たとえば、ＩＣカード１０および端末装置２０からの要求に応じて、アプリケーションプログラム等のデータを、端末装置２０を介してＩＣカード１０に送信する。たとえば、ホストコンピュータ３０は、通信機能を有するパーソナルコンピュータである。
【００３３】
具体的には、ホストコンピュータ３０は、ＩＣカード１０および端末装置２０からのアプリケーションプログラムのダウンロード要求に応じて、所望のアプリケーションプログラムを所定の暗号化処理、たとえば、ＲＳＡ（Rivest-Shamir-Adleman ）暗号化処理を行い、後述するように所望の大きさのコンポーネントに分割して送信する。
【００３４】
この際、ホストコンピュータ３０は、ＩＣカードで分割されたアプリケーションプログラムを統合する際に、統合されたアプリケーションプログラムが正常な構成であるか否かの確認処理をするために、誤り符号を付加する処理を行う。
たとえば、ホストコンピュータ３０は、誤り符号を付加する処理として、ＣＲＣ（Cyclic Redundancy Check ）誤り符号方式やＢＣＨ（Bose-Chaudhuri-Hocquenghem code ）符号方式などの冗長性を付加する処理を行う。
【００３５】
また、ホストコンピュータ３０は、端末装置２０を介してＩＣカード１０から送信された要求、たとえば、アプリケーションプログラムの途中のコンポーネントからダウンロードさせる要求に応じて、そのアプリケーションプログラムのコンポーネントを端末装置２０を介して、ＩＣカード１０に出力する。
【００３６】
ＩＣカード１０は、図１に示すように、ＣＰＵ（Central Processing Unit ）１１、インターフェイス（Ｉ／Ｆ）１２、暗号回路１３、ＲＡＭ１４、ＲＯＭ１５、ＥＥＰＲＯＭ１６、およびバスＢＳを有する。
【００３７】
ＣＰＵ１１、Ｉ／Ｆ１２、暗号回路１３、ＲＡＭ１４、ＲＯＭ１５、およびＥＥＰＲＯＭ１６は、バスＢＳに接続されている。
【００３８】
ＣＰＵ１１は、端末装置２０からのコマンド、あらかじめＲＯＭ１５に設定されたコマンド、およびＥＥＰＲＯＭ１６に記憶されているアプリケーションプログラム等に従って、Ｉ／Ｆ１２を介して、端末装置２０と適宜通信を行いながら、後述する所望の処理を行う。
【００３９】
Ｉ／Ｆ１２は、たとえば、ＩＣカード１０が端末装置２０に装着された場合に、電力とクロックの供給を受けるとともに、端末装置２０とデータの送受信を行う。すなわち、端末装置２０から受信した信号をＣＰＵ１１に出力し、またＣＰＵ１１により入力された信号を端末装置２０に送信する。
【００４０】
暗号回路１３は、Ｉ／Ｆ１２により受信されたデータを復号化する処理および暗号化処理を行う。たとえば、暗号回路１３は不図示の暗号復号化コプロセッサおよび乱数発生器を含む。
たとえば、暗号回路１３はＩ／Ｆ１２で受信されたＲＳＡ暗号化処理されたデータを、たとえばＥＥＰＲＯＭ１６にあらかじめ記憶された復号鍵を用いてＲＳＡ復号化処理を行う。
【００４１】
ＲＡＭ１４は、たとえば、ＣＰＵ１１によりプログラム等が実行される際の作業エリアとして使用される。ＲＯＭ１５にはあらかじめ定められた初期値やカードＩＤ等が記憶されている。
【００４２】
また、ＲＡＭ１４、ＲＯＭ１５、およびＥＥＰＲＯＭ１６は、後述するＩＣカード１０のメモリシステムを構成する。
【００４３】
図２は、図１のＩＣカード１０におけるメモリシステムの一例を示す概念図である。
【００４４】
ＩＣカード１０は、たとえば、図２に示すように、ＲＯＭ１５に格納されたＯＳカーネル部４１、ならびに、ＥＥＰＲＯＭ１６に格納され、ＯＳカーネル部４１の上のレイヤに配置されたインタプリタ４２、第１のアプリケーションプログラム（以後、ＡＰとも言う）４３−１、第２のアプリケーションプログラム（ＡＰ）４３−２、処理モジュール４４、およびプログラムローダ（以後、ＰＬとも言う）４５を有する。
【００４５】
ＯＳカーネル部４１は、ＩＣカード１０のＯＳのカーネル部でありＩＣカード１０のハードウェアに対応して設計され、そのハードウェア資源を管理する。
また、ＯＳカーネル部４１は、ＩＣカード１０のＩ／Ｆ１２を制御し、端末装置２０とのデータの入出力を行う。
また、ＯＳカーネル部４１は、上層のプログラムからＩＣカード１０のハードウェアをアクセスするためのインターフェイスを提供する。
以上の機能に基づいて、ＯＳカーネル部４１は上層のプログラムの動作を制御する。
【００４６】
また、ＯＳカーネル部４１は、ＩＣカード製造会社がＩＣカード発行前にＲＯＭ１５に搭載したもので、書き換えることはできない。
【００４７】
インタプリタ４２は、たとえば、後述の第１のアプリケーションプログラム４３−１および第２のアプリケーションプログラム４３−２を実行する時に、ソースコードを逐次、実行形式のコードに変換する。
また、インタプリタ４２は、必要に応じて処理モジュール４４を呼出し、ＩＣカードのシステムデータを利用し、ＩＣカードのハードウェアをアクセスしながら、ＩＣカードの所定の機能を実現する。
なお、アプリケーションプログラムが、ＩＣチップのＣＰＵの機械語で記述されている場合には、インタプリタ４２を動作させる必要がない。
【００４８】
第１のアプリケーションプログラム４３−１および第２のアプリケーションプログラム４３−２は、たとえば、インタプリタ４２により解読可能なプログラム言語で記述され、実行されることにより、それぞれさまざまな具体的なサービス、たとえば、決済、チケットの本人確認などの処理を行う。
また、第１のアプリケーションプログラム４３−１および第２のアプリケーションプログラム４３−２は、インタプリタ４２の上位に配置される。
【００４９】
処理モジュール４４は、ＯＳカーネル部４１の多様な機能を、上層のアプリケーションプログラムが利用できるようにする。たとえば、処理モジュール４４には、たとえば、暗号化処理ライブラリなどがある。暗号化処理ライブラリは、暗号回路１３の暗号化処理および復号化処理の際に参照されるライブラリである。
【００５０】
プログラムローダ（ＰＬ）４５は、たとえば、新たなアプリケーションプログラムをＩＣカード１０にダウンロードし、書き換え可能なＥＥＰＲＯＭ１６に記憶するモジュールである。
【００５１】
図３は、図１のＩＣカードに搭載されるアプリケーションプログラムの構成を示す模式図である。
【００５２】
ＩＣカード１０に搭載されるアプリケーションプログラムは、図３に示すように、たとえば、コード部４−１、データ部４−２から構成されている。
【００５３】
コード部４−１には、たとえば、アプリケーション識別子ＡＩＤ（Application Identifier）が記載され、たとえば、登録済アプリケーション提供者識別子ＲＩＤおよび独立アプリケーション拡張識別子（ＰＩＸ）から構成される。
【００５４】
ＲＩＤは、たとえば、ＩＳＯ７８１６−５に従って、各アプリケーションプログラム提供者毎に一意に割り当てられる。たとえば、コード部４−１の大きさは、５バイトである。
ＰＩＸは、アプリケーションプログラム提供者により任意に設定され、最大１１バイトのオプションフィールドである。
【００５５】
データ部４−２には、たとえば、所望の機能を実現する、プログラミング言語で記述されたデータが記載される。
【００５６】
図４は、図１のホストコンピュータから端末装置を介して送信されるアプリケーションプログラムの状態の一例を示した図である。
【００５７】
アプリケーションプログラムは、たとえば、暗号化され、図４に示すように、所望の大きさ、たとえば、それぞれ２５５ｂｙｔｅｓのコンポーネント４００−１〜４００−ｎに分割されて、ホストコンピュータ３０から端末装置２０を介してＩＣカード１０に送信される。
【００５８】
プログラムローダ４５は、上述のアプリケーションプログラムを、ホストコンピュータ３０から端末装置２０を介して送信される、ロード開始コマンド、ロードアプリケーションコマンド、ロード終了コマンドに応じて、ＥＥＰＲＯＭ１６に記憶されているプログラムの状態に応じた処理を行い、処理結果をＩ／Ｆ１２を介して端末装置２０、およびホストコンピュータ３０に出力する。
【００５９】
具体的には、プログラムローダ４５は、ホストコンピュータ３０から端末装置２０を介して送信された、アプリケーションプログラムのＡＩＤを含むロード開始コマンドが、Ｉ／Ｆ１２を介して受信されると、ＥＥＰＲＯＭ１６内に、受信されたＡＩＤと同じＡＩＤを持つアプリケーションプログラムが格納されているか否かを判別する。
そして、プログラムローダ４５は、ＥＥＰＲＯＭ１６内に、受信されたＡＩＤと同じＡＩＤを持つアプリケーションプログラムが格納されている場合には、新たにアプリケーションプログラムをロード可能であるという、新規ロード可能データ含む返送データをＩ／Ｆ１２から、端末装置２０を介してホストコンピュータ３０に送信させる。
【００６０】
また、同一のＡＩＤが存在する場合には、プログラムローダ４５は、ＥＥＰＲＯＭ１６に記憶されているアプリケーションプログラムが実行可能か否かを判別する。
具体的には、プログラムローダ４５は、ＥＥＰＲＯＭ１６に、そのアプリケーションプログラムの全てのコンポーネント４００が記憶されているか否かが判別される。
そして、プログラムローダ４５は、実行可能であると判別された場合には、たとえば、既にロード済であることを示すデータを含む返送データをＩ／Ｆ１２から、端末２０を介してホストコンピュータ３０に送信させる。
【００６１】
図５は、図１のＩＣカードのＥＥＰＲＯＭに記憶されているアプリケーションプログラムが途中までダウンロードされた状態の一例を示す概念図である。
【００６２】
また、プログラムローダ４５は、図５に示すように、ＥＥＰＲＯＭ１６にアプリケーションプログラムの全てコンポーネント４００が記憶されていない場合、具体的には、たとえば、アプリケーションプログラムのコンポーネント４００−１〜４００−（ｍ−１）までダウンロードされて、コンポーネント４００−ｍのダウンロードの途中で中断された場合には、ＥＥＰＲＯＭ１６に、そのコンポーネント４００−１〜４００−（ｍ−１）を記憶し、残りのコンポーネント４００−ｍ〜４００−ｎが未ロードの状態の場合には、コンポーネント４００−（ｍ−１）までダウンロードが終了していることを示すデータを含む返送データをＩ／Ｆ１２から、端末装置２０を介してホストコンピュータ３０に送信させる。
【００６３】
また、プログラムローダ４５は、ホストコンピュータ３０から送信され、端末装置２０を介して、Ｉ／Ｆ１２でロードアプリケーションコマンドが受信されると、それと共に受信されるコンポーネント４００をＥＥＰＲＯＭ１６に記憶させる。
【００６４】
また、プログラムローダ４５は、端末装置２０を介してホストコンピュータ３０から送信されたロード終了コマンドがＩ／Ｆ１２で受信されて、同時にアプリケーションプログラムの全てのコンポーネントが受信された場合には、分割されたアプリケーションプログラムを統合し、暗号回路１３にＲＳＡ復号化処理を行わせる。
【００６５】
そして、プログラムローダ４５は、復号化されたアプリケーションプログラムに対して、構成上の誤りを検出するために、ＣＲＣ誤り符号検出処理を行い、誤りを検出した場合には、アプリケーションプログラムを再送させるデータを、Ｉ／Ｆ１２から、端末装置２０を介してホストコンピュータ３０に送信させる。この際、所定の回数、たとえば、２回、再送させるデータを送信した場合には、受信状態が悪いと判断して、ＥＥＰＲＯＭ１６に記憶されているダウンロードされたアプリケーションプログラムを消去し、ダウンロードを中止させるデータをＩ／Ｆ１２から端末装置２０を介してホストコンピュータ３０に送信させる。
【００６６】
また、プログラムローダ４５は、ＣＲＣ誤り符号検出処理で誤りを検出しない場合には、ダウンロード完了を示すデータを、Ｉ／Ｆ１２から端末装置２０を介してホストコンピュータ３０に送信させる。
【００６７】
上述のようなハードウェア構成およびソフトウェア構成のＩＣカード１０は、端末装置２０に装着されると、Ｉ／Ｆ１２を介して、端末装置２０より電源とクロック信号の提供を受けて起動される。
そして、端末装置２０を介して、ホストコンピュータ３０からのコマンドに基づいて、ＩＣカード１０が処理を行う。
【００６８】
次に、上記構成によるＩＣカード１０を用いたＩＣカードアプリケーションプログラムロード装置１の動作の概略を図を参照しながら説明する。
【００６９】
図６は、本実施の形態に係るＩＣカードアプリケーションプログラムロード装置の動作の一例の概略を示すフローチャートである。
【００７０】
ＩＣカード１０の所有者が、端末装置２０にＩＣカード１０を装着することにより、ＩＣカード１０および端末装置２０の双方で処理が開始され、まず、ＩＣカード１０と端末装置２０の間で認証処理が行われる。
【００７１】
認証処理が終了して、ＩＣカード１０がＩＣカードアプリケーションロード装置１で使用されているＩＣカードであると判別されたら、端末装置２０から、ＩＣカード１０のカードＩＤを含むデータがホストコンピュータ３０に送信される。
【００７２】
ホストコンピュータ３０では、このカードＩＤを含むデータが受信され、ＩＣカード１０に対する処理が開始される。
【００７３】
そして、上述の初期処理が行われた後に、所望のアプリケーションプログラムをダウンロードする処理が行われる。
【００７４】
ＩＣカード１０に所望のアプリケーションプログラムをダウンロードする処理は、たとえば、図６に示すように、ホストコンピュータ３０から端末装置２０を介して、ＡＩＤの情報を含むロード開始コマンドが送信される（ＳＴ３１）。
ＩＣカード１０では、そのロード開始コマンドが受信される（ＳＴ１１）。
【００７５】
ＩＣカード１０では、ロード開始コマンドに含まれるＡＩＤの情報に応じて、プログラムローダ４５が所定の処理を行い、その処理結果が返送データとして、Ｉ／Ｆ１２から送信される（ＳＴ１２）。
ホストコンピュータ３０では、端末装置２０を介して、その返送データが受信される（ＳＴ３２）。
【００７６】
ホストコンピュータ３０では、その返送データに応じてアプリケーションプログラムの送信を行うか否か等の判別が行われ、アプリケーションプログラムを送信する場合には所定の処理を行い、アプリケーションプログラムを含むデータがロードアプリケーションコマンドと共に、端末装置２０を介して、ＩＣカード１０に送信される（ＳＴ３３）。
そして、ＩＣカード１０では、そのロードアプリケーションコマンドとアプリケーションプログラムが受信される（ＳＴ１３）。
【００７７】
たとえば、具体的には、ホストコンピュータ３０では、アプリケーションプログラムにＣＲＣ誤り符号訂正処理が行われ、ＲＳＡ暗号化処理が行われ、そして、図４に示すように、アプリケーションプログラムを所定の大きさのコンポーネントに分割する処理が行われる。
そして、ホストコンピュータ３０では、分割されたコンポーネントが、ロードアプリケーションコマンドと共に端末装置２０を介してＩＣカード１０に送信される。
【００７８】
そして、ホストコンピュータ３０では、アプリケーションプログラムの全てのコンポーネントを送信後、ロード終了コマンドが、端末装置２０を介してＩＣカード１０に送信される（ＳＴ３４）。
ＩＣカード１０では、そのロード終了コマンドが受信される（ＳＴ１４）。
【００７９】
ＩＣカード１０では、所望のアプリケーションプログラムの全てのコンポーネントが受信されると、分割されたアプリケーションプログラムが統合され、暗号回路１３でＲＳＡ復号化処理が行われる（ＳＴ１５）。
【００８０】
そして、プログラムローダ４５では、復号化されたアプリケーションプログラムに対して、ＣＲＣ誤り符号検出処理（チェックサム処理ともいう）が行われる（ＳＴ１６）。
そして、プログラムローダ４５では、誤りが検出されない場合には、ダウンロード完了を示すロード状態データがセットされ（ＳＴ１７）、ステップＳＴ２１の処理に進む。
【００８１】
また、ステップＳＴ１６の誤り符号検出処理で誤りが検出された場合には、プログラムローダ４５では、所定の回数、たとえば、２回、再送させるデータが送信されたか否かが判別され（ＳＴ１８）、所定の回数、送信された場合には、受信状態が悪いと判断して、ＥＥＰＲＯＭ１６に記憶されているダウンロードされたアプリケーションプログラムが消去され、ダウンロードを中止させるデータがセットされ（ＳＴ１９）、ステップＳＴ２１の処理に進む。
【００８２】
また、ステップＳＴ１８において、再送させるデータが送信された回数が所定の回数より少ない場合には、アプリケーションプログラムを始めから再送させるデータがセットされ（ＳＴ２０）、ステップＳＴ２１の処理に進む。
【００８３】
ステップＳＴ２１において、プログラムローダ４５では、上述した処理でセットされたロード状態が、Ｉ／Ｆ１２から、端末装置２０を介してホストコンピュータ３０に送信される（ＳＴ２１）。
【００８４】
そして、ホストコンピュータ３０では、端末装置２０を介して、そのロード状態データが受信され（ＳＴ３５）、アプリケーションプログラムを再送させるロード状態データが含まれている場合には、ステップＳＴ３１の処理に戻り、ダウンロード処理が始めからやり直される。
また、ダウンロードを中止させるデータおよびダウンロード完了を示すデータが受信された場合には、一連のダウンロード処理を終了する。
【００８５】
図７は、図１のＩＣカード１０のロード開始コマンドに対する、プログラムローダの処理の一例を示すフローチャートである。
【００８６】
ＩＣカード１０では、図７に示すように、ホストコンピュータ３０から端末装置２０を介して送信された、アプリケーションプログラムのＡＩＤを含むロード開始コマンドがＩ／Ｆ１２を介して受信されると、プログラムローダ４５によりロード開始コマンドからＡＩＤが取得される（ＳＴ１０１）。
【００８７】
そして、ＥＥＰＲＯＭ１６内に、受信されたＡＩＤと同じＡＩＤを持つアプリケーションプログラムが格納されているか否かの判別が行われる（ＳＴ１０２）。
【００８８】
ステップＳＴ１０２の判別において、受信されたＡＩＤと同じアプリケーションプログラムがＥＥＰＲＯＭ１６に格納されていないと判別された場合には、新規ロード可能データがセットされ（ＳＴ１０３）、ステップＳＴ１２の処理に進む。
【００８９】
また、ステップＳＴ１０２の判別において、同一のＡＩＤが存在すると判別された場合には、そのアプリケーションプログラムは実行可能か否かが判別される（ＳＴ１０４）。
【００９０】
ステップＳＴ１０４の判別において、実行可能であると判別された場合には、たとえば、既にロード済であることを示すデータがセットされ（ＳＴ１０５）、ステップＳＴ１２の処理に進む。
【００９１】
また、ステップＳＴ１０４の判別において、アプリケーションプログラムが実行可能ではないと判別された場合には、ＥＥＰＲＯＭ１６に格納されている有効なコンポーネントが調査される（ＳＴ１０６）。
【００９２】
たとえば、ＩＣカード１０にアプリケーションプログラムがダウンロードされている途中に、何らかの理由、たとえば、電波の受信状態が悪くデータが受信できなくなった場合や、電源が遮断された場合などの理由で、ダウンロードが中断された場合には、図５に示すように、たとえば、アプリケーションプログラムのコンポーネント４００−１〜４００−（ｍ−１）までダウンロードされて、コンポーネント４００−ｍのダウンロードの途中で中断された場合には、ＥＥＰＲＯＭ１６には、そのコンポーネント４００−（ｍ−１）が記憶され、残りのコンポーネント４００−ｍ〜４００−ｎが未ロードの状態である。
【００９３】
そして、プログラムローダ４５では、ＥＥＰＲＯＭ１６のアプリケーションプログラムの状態が、たとえば、上述の状態の場合には、ロード済のコンポーネントの状態であるコンポーネント４００−（ｍ−１）までダウンロードが終了していることを示すデータがセットされ（ＳＴ１０７）、ステップＳＴ１２の処理に進む。
【００９４】
ステップＳＴ１２では、上述の処理でセットされたデータを含む返送データがＩ／Ｆ１２から、端末装置２０を介してホストコンピュータ３０に送信される。
【００９５】
図８は、図１の端末装置およびホストコンピュータの詳細なアプリケーションプログラムのダウンロード処理の一例を示すフローチャートである。
【００９６】
上述したように、図８に示すように、アプリケーションプログラムをＩＣカード１０にダウンロードする際に、ホストコンピュータ３０から、端末装置２０を介して、ＡＩＤの情報を含むロード開始コマンドが送信される（ＳＴ３１）。
【００９７】
ＩＣカード１０では、ロード開始コマンドに含まれるＡＩＤの情報に応じて、プログラムローダ４５が所定の処理を行い、その処理結果が返送データとして、端末装置２０を介してホストコンピュータ３０に送信される。
ホストコンピュータ３０では、端末装置２０を介して、その返送データが受信される（ＳＴ３２）。
【００９８】
そして、ホストコンピュータ３０では、図８に示すように、その返送データに含まれるデータに応じた処理が行われる。
【００９９】
具体的には、ホストコンピュータ３０では、返送データに、既にロード済であるというデータが含まれているか否かの判別が行われる（ＳＴ３０１）。
そして、既にロード済であるというデータが含まれていると判別された場合には、ダウンロードの処理を終了する（ＳＴ３０２）。
【０１００】
また、ステップＳＴ３０１の判別において、ロード済のデータが含まれていないと判別された場合には、返送データに新規ロードであるというデータが含まれているか否かの判別が行われる（ＳＴ３０３）。
【０１０１】
新規にロードアプリケーションコマンドが送信され、アプリケーションプログラムのデータが端末装置２０を介して、ＩＣカード１０に送信される（ＳＴ３０４）。
そして、ステップＳＴ３４の処理に進む。
【０１０２】
また、ステップＳＴ３０３の判別において、返送データに新規ロードであるというデータが含まれていないと判別された場合には、返送データにロード済のコンポーネントのデータが含まれているか否かの判別が行われる（ＳＴ３０５）。
【０１０３】
ステップＳＴ３０５の判別において、返送データにロード済のコンポーネントのデータが含まれていない場合には、返送データには、有効なデータが含まれていないとして、ダウンロードに関する処理を終了する（ＳＴ３０６）。
【０１０４】
ステップＳＴ３０５の判別において、返送データにロード済のコンポーネントのデータが含まれている場合には、そのデータに基づいて、たとえば、具体的には、返送データにアプリケーションプログラムのｍ−１番目のコンポーネントまでダウンロード済であるというデータが含まれている場合には、ｍ番目のコンポーネントから終わりのｎ番目のコンポーネントのデータまでが、ロードアプリケーションコマンドと共に端末装置２０を介して送信される（ＳＴ３０７）。
【０１０５】
そして、ステップＳＴ３４において、アプリケーションプログラムの全てのコンポーネントが送信されると、ホストコンピュータ３０では、ロード状態データが、端末装置２０を介して、ＩＣカード１０に送信される。
ＩＣカード１０では、そのロード終了コマンドが受信され、所望のアプリケーションプログラムの全てのコンポーネントが受信されると、上述した所定の処理が行われ、ロード状態を示すデータが、端末装置２０を介してホストコンピュータ３０に送信される。
【０１０６】
そして、ホストコンピュータ３０では、端末装置２０を介して、ロード状態を示すデータが受信されると（ＳＴ３５）、そのデータにダウンロードが完了したことを示すデータが含まれているか否かの判別が行われ（ＳＴ３６）、含まれていない場合には、ダウンロードの中止を示すデータが含まれているか否かの判別が行われ（ＳＴ３７）、含まれていない場合には、再送のデータが含まれているとして、ステップＳＴ３１の処理に戻り、ダウンロードの一連の処理が始めから行われる。
【０１０７】
また、ステップＳＴ３６の判別において、完了を示すデータが含まれていると判別された場合、および、ステップＳＴ３７の判別において、ダウンロード中止を示すデータが含まれていると判別された場合には、一連のダウンロードの処理が終了する（ＳＴ３８）。
【０１０８】
以上説明したように、本実施の形態によれば、アプリケーションプログラムを所望の大きさに分割し、要求に応じて、ＩＣカード１０で実行可能なアプリケーションプログラムを記憶しアプリケーションプログラムを暗号化し、分割してコンポーネント４００として提供する端末装置２０およびホストコンピュータ３０と、その端末装置２０およびホストコンピュータ３０とアクセスするＩ／Ｆ１２と、受信された分割されたコンポーネント４００を記憶するＥＥＰＲＯＭ１６と、アプリケーションプログラムを受信中に、受信が中断された場合には、アプリケーションプログラムの正常に受信された部分以外の部分のコンポーネント４００の再送要求をＩ／Ｆ１２に送信させ、再送要求を所定の回数だけ送信してもアプリケーションプログラムが正常に受信されない場合には、再送要求を打ち切り、ＥＥＰＲＯＭ１６が記憶している正常に受信されたアプリケーションプログラムのコンポーネント４００を消去し、Ｉ／Ｆ１２が全ての暗号化され分割されたアプリケーションプログラムを受信した場合には、暗号化され分割されたアプリケーションプログラムを統合し復号化し、アプリケーションプログラム全体が正常な構成であるか否かの誤り検出処理を行うプログラムローダ４５を動作させるＣＰＵ１１とを設けたので、アプリケーションプログラム等のデータのダウンロードが中断された場合であっても、より短い時間で再度ダウンロードすることができる。
【０１０９】
また、アプリケーションプログラムは、暗号化処理されてダウンロードされるので、セキュリティ性が高い。
また、ＩＣカード１０では、誤り検出処理が行われるので、アプリケーションプログラムのダウンロードにおいて、誤りが起きにくい。
また、所定の回数、ダウンロードを試行してもアプリケーションプログラムを正常にダウンロードすることができない場合には、受信状態が良くないとして、再送要求を打ち切り、ＥＥＰＲＯＭ１６に記憶されたアプリケーションプログラムの部分を削除するので、不確かな受信状態で受信するＩＣカードよりも、アプリケーションプログラムに対する信頼性が高い。
【０１１０】
なお、本発明は本実施の形態に限られるものではなく、任意好適な種々の改変が可能である。たとえば、本実施の形態では、アプリケーションプログラムのコンポーネントが連続して、ホストコンピュータ３０および端末装置２０から送信されているとし、中断された途中から再開するとしたが、この形態に限られるものではない。たとえば、アプリケーションプログラムのコンポーネントの順序を特に規定しないでホストコンピュータ３０および端末装置２０からＩＣカード１０に送信させる場合には、ＩＣカード１０よりロード途中であることを示すデータとして、全コンポーネントの情報を送信するようにすることで、容易に対応可能である。
【０１１１】
また、本実施の形態では、分割されたアプリケーションプログラムの全てを受信した場合には、プログラムローダ４５により、アプリケーションプログラム全体が正常な構成であるか否かの誤り符号検出処理が行われたが、この形態に限られるものではない。
たとえば、分割されたアプリケーションプログラムを受信した場合に、その分割されたアプリケーションプログラム毎に確認処理、たとえば、誤り符号検出処理を行ってもよい。
【０１１２】
【発明の効果】
以上説明したように、本発明によれば、アプリケーションプログラム等のデータのダウンロードが中断された場合であっても、より短い時間で再度ダウンロードすることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るＩＣカードアプリケーションプログラムロード装置を説明するための概略図である。
【図２】図１のＩＣカードにおけるメモリシステムの一例を示す概念図である。
【図３】図１のＩＣカードに搭載されるアプリケーションプログラムの構成の一例を示す模式図である。
【図４】図１のホストコンピュータから端末装置を介して送信されるアプリケーションプログラムの状態の一例を示す図である。
【図５】図１のＩＣカードのＥＥＰＲＯＭに記憶されているアプリケーションプログラムの状態を示す概念図である。
【図６】本実施の形態のＩＣカードアプリケーションプログラムロード装置の動作の一例の概略を示すフローチャートである。
【図７】図１のＩＣカード１０のロード開始コマンドに対する、プログラムローダの処理の一例を示すフローチャートである。
【図８】図１の端末装置およびホストコンピュータの詳細なアプリケーションプログラムのダウンロード処理の一例を示すフローチャートである。
【符号の説明】
１…ＩＣカードアプリケーションプログラムロード装置
４−１…コード部
４−２…データ部
１０…ＩＣカード
１１…ＣＰＵ
１２…インターフェイス（Ｉ／Ｆ）
１３…暗号回路
１４…ＲＡＭ
１５…ＲＯＭ
１６…ＥＥＰＲＯＭ
ＢＳ…バス
２０…端末装置
３０…ホストコンピュータ
４１…ＯＳカーネル部
４２…インタプリタ
４３−１…第１のアプリケーションプログラム（ＡＰ）
４３−２…第２のアプリケーションプログラム（ＡＰ）
４４…処理モジュール
４５…プログラムローダ（ＰＬ）
４００−１〜ｎ…コンポーネント
【図１】
0004951836.tif 000002
【図２】
0004951836.tif 000003
【図３】
0004951836.tif 000004
【図４】
0004951836.tif 000005
【図５】
0004951836.tif 000006
【図６】
0004951836.tif 000007
【図７】
0004951836.tif 000008
【図８】
0004951836.tif 000009