JP4951836B2 - Communication system and application program transmission method - Google Patents

Communication system and application program transmission method Download PDF

Info

Publication number
JP4951836B2
JP4951836B2 JP2001300752A JP2001300752A JP4951836B2 JP 4951836 B2 JP4951836 B2 JP 4951836B2 JP 2001300752 A JP2001300752 A JP 2001300752A JP 2001300752 A JP2001300752 A JP 2001300752A JP 4951836 B2 JP4951836 B2 JP 4951836B2
Authority
JP
Japan
Prior art keywords
application program
card
host computer
terminal device
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001300752A
Other languages
Japanese (ja)
Other versions
JP2003108384A (en
Inventor
祐一 中込
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2001300752A priority Critical patent/JP4951836B2/en
Publication of JP2003108384A publication Critical patent/JP2003108384A/en
Application granted granted Critical
Publication of JP4951836B2 publication Critical patent/JP4951836B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Stored Programmes (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、たとえば、ICカードで実行可能なアプリケーションプログラムを記憶し前記アプリケーションプログラムを分割して提供する通信システムと、アプリケーションプログラムの送信方法に関するものである。
【0002】
【従来の技術】
集積技術等の発展につれて、CPUとメモリを内蔵したICカードが実用され、注目を集めている。
【0003】
上述のICカードのメモリは、通常、読み出し専用メモリ(ROM:Read Only Memory)、書き換え可能な不揮発性メモリ、たとえば、EEPROM(Electrically Erasable and Programmable Read Only Memory )、およびRAM(Random Access Memory)を含む。
【0004】
近年では、マルチアプリケーション型カードOSと言われるインタプリタを上述のメモリに常駐させた構成のマルチアプリケーション型ICカードが知られている。
このようなインタプリタが搭載されたICカードにおいては、プログラム言語で記述されたプログラムを、たとえば、上述のEEPROMに記憶させることにより、カードにOSを搭載後、さらにカード発行後でも追加、および削除することができる。
【0005】
また、上述のICカードに高度な暗号化技術を持たせた、高いセキュリティ性を有するICカードが知られている。
【0006】
上述のICカードは、その高いセキュリティ性を利用して、たとえば、インターネットや携帯電話等を経由して、商品やコンサートチケットなどを決済して購入する際に用いられる。
【0007】
このICカードでは、たとえば、ICカード内にクレジットまたは電子財布等の働きをするアプリケーションプログラムがEEPROM等に記憶され、それを用いて決済の手続きが行われる。
【0008】
たとえば、コンサートチケットを購入する場合には、上述したICカードに、インターネットや携帯電話等を経由してチケットアプリケーションプログラムをダウンロードさせる。
このチケットアプリケーションプログラムには、たとえば、正当なチケット保有者であることを示す情報や、指定された座席などの情報が含まれている。
そして、このICカードをコンサート会場の入り口で入場券の代わりに提示すると、チケットアプリケーションプログラムにより、たとえば、暗号化技術を用いて、上述の正当なチケット保有者であることを示す情報等の確認が行われる。
このため、上述のセキュリティ性の高いICカードを用いることにより、チケットセンターに出向きチケットを入手する必要がなくなり、利便性が高くなる。
【0009】
【発明が解決しようとする課題】
ところで、上述した従来のマルチアプリケーション型ICカードでは、1つのアプリケーションプログラムをICカード内に登録する場合には、そのアプリケーションプログラムが複数のコンポーネントに分割されてダウンロードされる。
【0010】
たとえば、1つのアプリケーションプログラムはコード部およびデータ部で構成されており、通常、アプリケーションプログラム全体のデータサイズが3〜7KBであり、上述した従来のICカードに対するコマンドのデータ長が1〜255bytesであるために、分割されてICカードにダウンロードされることになる。
【0011】
たとえば、ICカードに携帯電話等の電波を利用してアプリケーションプログラムをダウンロードする場合には、アプリケーションプログラムそのもののデータ量が、決済の手続きの際にやり取りされるデータ量よりも遙に大きく、ダウンロードするのに時間がかかる。
【0012】
そして、電波の受信状態が悪い場合など、アプリケーションプログラムをダウンロードしている途中で、受信しているアプリケーションプログラムのデータが途切れてしまう場合がある。
【0013】
しかしながら、従来のICカードでは、上述した場合には、アプリケーションプログラムの大部分がICカードにダウンロード済であった場合であっても、再度、最初からそのアプリケーションプログラムをダウンロードしなければならないという問題点がある。
また、このため、多くの時間がかかったり、携帯電話等ではより長い時間にわたって電話をかける必要があった。
【0014】
また、ダウロードの途中で、たとえば、ICカードが端末装置から引き抜かれる等の原因により、ダウンロードが中断された場合であっても、同様に、アプリケーションプログラムの大部分がICカードにダウンロード済であった場合であっても、再度、最初からそのアプリケーションプログラムをダウンロードしなければならないという問題点がある。
【0015】
本発明は、かかる事情に鑑みてなされたものであり、その目的は、アプリケーションプログラム等のデータのダウンロードが中断された場合であっても、より短い時間で再度ダウンロードすることができる通信システムおよびアプリケーションプログラムの送信方法を提供することにある。
【0016】
【課題を解決するための手段】
本発明によれば、ホストコンピュータと、当該ホストコンピュータと無線通信により情報を交換可能な端末装置と、当該端末装置に装着され、当該端末装置とデータ転送が可能であり当該端末装置を介して前記ホストコンピュータから受信したアプリケーションプログラムを実行するICカードとを有する、通信システムであって、
前記ホストコンピュータは、前記ICカードにおいて動作するアプリケーションプログラムを保持しており、
当該アプリケーションプログラムは、コード部とプログラム言語で記述されたデータが収容されるデータ部とで構成されており、
前記コード部には登録済アプリケーション提供識別子(RID)を含むアプリケーション識別子(AID)が記憶されており、
前記ホストコンピュータは、前記端末装置を介した前記ICカードからアプリケーションプログラムの送信要求に応答して、
前記ICカードへの送信対象のアプリケーションプログラム全体に誤り符号処理を行い、
前記誤り符号処理したアプリケーションプログラムを所望の大きさの複数のコンポーネントに分割し、
前記複数分割したコンポーネントを無線通信により前記端末装置に送信し、
前記端末装置は、前記ホストコンピュータから送信された前記コンポーネントを受信し、当該受信したコンポーネントを当該端末装置に装着されている前記ICカードに転送し、
前記ICカードは、
前記端末装置から転送された前記コンポーネントを受信する受信手段と、
アプリケーションプログラムを記憶する記憶部と、
信号処理手段と
を有し、
前記信号処理手段は、
前記記憶部に記憶された、前記登録済アプリケーション提供識別子(RID)を含むアプリケーション識別子(AID)を参照して、前記記憶部にアプリケーションプログラムの全てのコンポーネントが記憶されていない場合、未ロードのコンポーネントを送信する要求を前記端末装置を介して前記ホストコンピュータに要求し、
前記受信手段を介して入力された前記端末装置から転送された複数のコンポーネントを前記記憶部に記憶し、
前記転送された複数のコンポーネントを統合して、前記ホストコンピュータにおいて分割する前の元のアプリケーションプログラムに対応するアプリケーションプログラムを復号し
前記復号したアプリケーションプログラムに対して誤り符号検出処理を行い、
誤りが検出されない場合、前記受信処理を終了し、
誤りが検出された場合、
所定回数以内は前記ホストコンピュータに再度、そのコンポーネントの送信を要求し、
前記所定回数を越えた場合は、
前記ホストコンピュータからの前記送信を停止し、
前記記憶部に記憶したコンポーネントを前記記憶部から消去する、
通信システムが提供される。
【0017】
好適には、前記ICカードの前記信号処理手段は、
前記受信手段で受信した前記コンポーネントに含まれるアプリケーション識別子(AID)が前記記憶部に記憶されている場合、
アプリケーションプログラムが実行可能か否かをチェックし、
実行可能な場合、前記アプリケーション識別子(AID)にロード済のデータをセットし、
実行不可の場合、有効なコンポーネントを調査し、前記アプリケーション識別子(AID)にロード済のコンポーネントを示す状態を示すデータをセットし、
前記受信手段で受信した前記コンポーネントに含まれる前記アプリケーション識別子(AID)が前記記憶部に記憶されていない場合、
前記アプリケーション識別子(AID)に新規ロード可能のデータをセットし、
前記ホストコンピュータに、前記アプリケーション識別子(AID)を送信する。
【0018】
また好適には、前記ホストコンピュータは、前記送信対象のアプリケーションプログラム全体に暗号化処理を行い、当該暗号化処理後、誤り符号処理を行い、前記ICカードの信号処理手段は、前記統合したアプリケーションプログラムに復号処理を行い、誤り符号処理を行う。
【0019】
また好適には、前記端末装置に前記ICカードが装着されたとき、前記端末装置は装着されたICカードの認証処理を行い、認証処理が正当なICカードについて前記転送処理を行う。
【0020】
上記構成による本発明によれば、たとえば、ホストコンピュータには、ICカードで実行可能なアプリケーションプログラムが記憶されている。
そして、そのアプリケーションプログラムを端末装置を介してICカードに送信する場合には、所定の大きさに分割して送信される。
このとき、アプリケーションプログラムを暗号化してICカードに送信することで、セキュリティ性が高くなる。
【0021】
そして、ICカードの受信手段では、端末装置を介してホストコンピュータにより分割されて送信されたアプリケーションプログラムが受信される。
記憶部では、受信手段で受信された分割されたアプリケーションプログラムが記憶される。
【0022】
そして、受信手段ホストコンピュータにより送信されたアプリケーションプログラムを受信している途中で何らかの理由、たとえば、ホストコンピュータから端末装置への無線通信系統における伝送状態が悪い等の理由により、受信が中断した場合には、信号処理手段では、前記アプリケーションプログラムの正常に受信された部分以外の部分の再送要求を前記受信手段に送信させる。
【0023】
また、信号処理手段では、前記アプリケーションプログラムが正常に受信されない場合には、所定の回数、たとえば、2回、再送要求を送信し、それでも正常に受信されない場合には、長時間に渡り伝送状態が良くないものとして、再送要求を打ち切り、記憶部に記憶されている正常に受信されたアプリケーションプログラムの部分を消去する。
【0024】
また、信号処理手段は、受信手段が全ての暗号化され分割されたアプリケーションプログラムを受信した場合には、暗号化され分割されたアプリケーションプログラムを、統合し復号化する。こうすることにより、よりセキュリティ性が高くなる。
【0025】
また、信号処理手段は、受信手段で分割されたアプリケーションプログラムが受信された場合には、分割されたアプリケーションプログラム毎に正常な構成であるか否かの確認処理を行い、または、受信手段で分割されたアプリケーションプログラムの全てが受信された場合には、アプリケーションプログラム全体が正常な構成であるか否かの確認処理を行う。
こうすることにより、アプリケーションプログラムの伝送途中での誤りや、構成上の誤りをなくすことができる。
【0026】
また本発明によれば、ホストコンピュータと、当該ホストコンピュータと無線通信により情報を交換可能な端末装置と、当該端末装置に装着され、当該端末装置とデータ転送が可能であり当該端末装置を介して前記ホストコンピュータから受信したアプリケーションプログラムを実行するICカードとを有する、通信システムにおけるアプリケーションプログラムの送信方法であって、
当該アプリケーションプログラムは前記ホストコンピュータに保持されており、
当該アプリケーションプログラムはコード部とプログラム言語で記述されたデータが収容されるデータ部とで構成されており、前記コード部には登録済アプリケーション提供識別子を含むアプリケーション識別子が格納されており、
前記ホストコンピュータは、前記端末装置を介した前記ICカードからアプリケーションプログラムの送信要求に応答して、
前記ICカードへの送信対象のアプリケーションプログラム全体に誤り符号処理を行い、
前記誤り符号処理したアプリケーションプログラムを所望の大きさの複数のコンポーネントに分割し、
前記複数分割したコンポーネントを無線通信により前記端末装置に送信し、
前記端末装置は、前記ホストコンピュータから送信された前記コンポーネントを受信し、当該受信したコンポーネントを当該端末装置に装着されている前記ICカードに転送し、
前記ICカードは、
記憶部に記憶された、前記登録済アプリケーション提供識別子(RID)を含むアプリケーション識別子(AID)を参照して、前記記憶部にアプリケーションプログラムの全てのコンポーネントが記憶されていない場合、未ロードのコンポーネントを送信する要求を前記端末装置を介して前記ホストコンピュータに要求し、
前記ホストコンピュータから送信され、前記端末装置を経由して転送された前記コンポーネントを受信し、
前記受信したコンポーネントを前記記憶部に記憶し、
前記転送された複数のコンポーネントを統合して、前記ホストコンピュータにおいて分割する前の元のアプリケーションプログラムに対応するアプリケーションプログラムを復号し
前記復号したアプリケーションプログラムに対して誤り符号検出処理を行い、
誤りが検出されない場合、前記受信処理を終了し、
誤りが検出された場合、
所定回数以内は前記ホストコンピュータに再度、そのコンポーネントの送信を要求し、
前記所定回数を越えた場合は、
前記ホストコンピュータからの前記送信を停止し、
前記記憶部に記憶したコンポーネントを前記記憶部から消去する、
アプリケーションプログラムの送信方法が提供される。
【0027】
【発明の実施の形態】
図1は、本発明の通信システムの一実施の形態に係るICカードアプリケーションプログラムロード装置を説明するための概略図である。
【0028】
本実施の形態に係るICカードアプリケーションプログラムロード装置1は、図1に示すように、ICカード10、ならびに、情報処理装置としての端末装置20およびホストコンピュータ30を有する。
【0029】
ICカード10は、カード発行会社から発行および管理されて個人が携帯する特定の機能を有するICカードである。
ICカード10は、たとえば、端末装置20を介してホストコンピュータ30からアプリケーションプログラム等のデータをダウンロードして、そのアプリケーションプログラムを実行し所望の処理を行う。また、ICカード10は、複数のアプリケーションプログラムを記憶することが可能である。
【0030】
端末装置20は、ICカード発行会社や、サービスを提供する会社のホストコンピュータ30に、無線等を用いてアクセスし、ホストコンピュータ30と装着されたICカード10との間の通信データを転送する。たとえば、端末装置20は、ICカード10のリーダライタの機能を有する携帯型電話である。
【0031】
また、端末装置20は、ICカード10が装着されると起動し、そして、ICカード10の認証処理、つまり、ICカード10が端末装置20で処理可能か否かの処理を行う。そして、ICカード10が認定された場合には、端末装置20を介して、ICカード10はホストコンピュータ30と通信可能となる。
そして、端末装置20は、ホストコンピュータ30およびICカード10と通信を順次に行いながら、ホストコンピュータ30より送信されたICカード10に対する処理を行う。
【0032】
ホストコンピュータ30は、たとえば、ICカード10および端末装置20からの要求に応じて、アプリケーションプログラム等のデータを、端末装置20を介してICカード10に送信する。たとえば、ホストコンピュータ30は、通信機能を有するパーソナルコンピュータである。
【0033】
具体的には、ホストコンピュータ30は、ICカード10および端末装置20からのアプリケーションプログラムのダウンロード要求に応じて、所望のアプリケーションプログラムを所定の暗号化処理、たとえば、RSA(Rivest-Shamir-Adleman )暗号化処理を行い、後述するように所望の大きさのコンポーネントに分割して送信する。
【0034】
この際、ホストコンピュータ30は、ICカードで分割されたアプリケーションプログラムを統合する際に、統合されたアプリケーションプログラムが正常な構成であるか否かの確認処理をするために、誤り符号を付加する処理を行う。
たとえば、ホストコンピュータ30は、誤り符号を付加する処理として、CRC(Cyclic Redundancy Check )誤り符号方式やBCH(Bose-Chaudhuri-Hocquenghem code )符号方式などの冗長性を付加する処理を行う。
【0035】
また、ホストコンピュータ30は、端末装置20を介してICカード10から送信された要求、たとえば、アプリケーションプログラムの途中のコンポーネントからダウンロードさせる要求に応じて、そのアプリケーションプログラムのコンポーネントを端末装置20を介して、ICカード10に出力する。
【0036】
ICカード10は、図1に示すように、CPU(Central Processing Unit )11、インターフェイス(I/F)12、暗号回路13、RAM14、ROM15、EEPROM16、およびバスBSを有する。
【0037】
CPU11、I/F12、暗号回路13、RAM14、ROM15、およびEEPROM16は、バスBSに接続されている。
【0038】
CPU11は、端末装置20からのコマンド、あらかじめROM15に設定されたコマンド、およびEEPROM16に記憶されているアプリケーションプログラム等に従って、I/F12を介して、端末装置20と適宜通信を行いながら、後述する所望の処理を行う。
【0039】
I/F12は、たとえば、ICカード10が端末装置20に装着された場合に、電力とクロックの供給を受けるとともに、端末装置20とデータの送受信を行う。すなわち、端末装置20から受信した信号をCPU11に出力し、またCPU11により入力された信号を端末装置20に送信する。
【0040】
暗号回路13は、I/F12により受信されたデータを復号化する処理および暗号化処理を行う。たとえば、暗号回路13は不図示の暗号復号化コプロセッサおよび乱数発生器を含む。
たとえば、暗号回路13はI/F12で受信されたRSA暗号化処理されたデータを、たとえばEEPROM16にあらかじめ記憶された復号鍵を用いてRSA復号化処理を行う。
【0041】
RAM14は、たとえば、CPU11によりプログラム等が実行される際の作業エリアとして使用される。ROM15にはあらかじめ定められた初期値やカードID等が記憶されている。
【0042】
また、RAM14、ROM15、およびEEPROM16は、後述するICカード10のメモリシステムを構成する。
【0043】
図2は、図1のICカード10におけるメモリシステムの一例を示す概念図である。
【0044】
ICカード10は、たとえば、図2に示すように、ROM15に格納されたOSカーネル部41、ならびに、EEPROM16に格納され、OSカーネル部41の上のレイヤに配置されたインタプリタ42、第1のアプリケーションプログラム(以後、APとも言う)43−1、第2のアプリケーションプログラム(AP)43−2、処理モジュール44、およびプログラムローダ(以後、PLとも言う)45を有する。
【0045】
OSカーネル部41は、ICカード10のOSのカーネル部でありICカード10のハードウェアに対応して設計され、そのハードウェア資源を管理する。
また、OSカーネル部41は、ICカード10のI/F12を制御し、端末装置20とのデータの入出力を行う。
また、OSカーネル部41は、上層のプログラムからICカード10のハードウェアをアクセスするためのインターフェイスを提供する。
以上の機能に基づいて、OSカーネル部41は上層のプログラムの動作を制御する。
【0046】
また、OSカーネル部41は、ICカード製造会社がICカード発行前にROM15に搭載したもので、書き換えることはできない。
【0047】
インタプリタ42は、たとえば、後述の第1のアプリケーションプログラム43−1および第2のアプリケーションプログラム43−2を実行する時に、ソースコードを逐次、実行形式のコードに変換する。
また、インタプリタ42は、必要に応じて処理モジュール44を呼出し、ICカードのシステムデータを利用し、ICカードのハードウェアをアクセスしながら、ICカードの所定の機能を実現する。
なお、アプリケーションプログラムが、ICチップのCPUの機械語で記述されている場合には、インタプリタ42を動作させる必要がない。
【0048】
第1のアプリケーションプログラム43−1および第2のアプリケーションプログラム43−2は、たとえば、インタプリタ42により解読可能なプログラム言語で記述され、実行されることにより、それぞれさまざまな具体的なサービス、たとえば、決済、チケットの本人確認などの処理を行う。
また、第1のアプリケーションプログラム43−1および第2のアプリケーションプログラム43−2は、インタプリタ42の上位に配置される。
【0049】
処理モジュール44は、OSカーネル部41の多様な機能を、上層のアプリケーションプログラムが利用できるようにする。たとえば、処理モジュール44には、たとえば、暗号化処理ライブラリなどがある。暗号化処理ライブラリは、暗号回路13の暗号化処理および復号化処理の際に参照されるライブラリである。
【0050】
プログラムローダ(PL)45は、たとえば、新たなアプリケーションプログラムをICカード10にダウンロードし、書き換え可能なEEPROM16に記憶するモジュールである。
【0051】
図3は、図1のICカードに搭載されるアプリケーションプログラムの構成を示す模式図である。
【0052】
ICカード10に搭載されるアプリケーションプログラムは、図3に示すように、たとえば、コード部4−1、データ部4−2から構成されている。
【0053】
コード部4−1には、たとえば、アプリケーション識別子AID(Application Identifier)が記載され、たとえば、登録済アプリケーション提供者識別子RIDおよび独立アプリケーション拡張識別子(PIX)から構成される。
【0054】
RIDは、たとえば、ISO7816−5に従って、各アプリケーションプログラム提供者毎に一意に割り当てられる。たとえば、コード部4−1の大きさは、5バイトである。
PIXは、アプリケーションプログラム提供者により任意に設定され、最大11バイトのオプションフィールドである。
【0055】
データ部4−2には、たとえば、所望の機能を実現する、プログラミング言語で記述されたデータが記載される。
【0056】
図4は、図1のホストコンピュータから端末装置を介して送信されるアプリケーションプログラムの状態の一例を示した図である。
【0057】
アプリケーションプログラムは、たとえば、暗号化され、図4に示すように、所望の大きさ、たとえば、それぞれ255bytesのコンポーネント400−1〜400−nに分割されて、ホストコンピュータ30から端末装置20を介してICカード10に送信される。
【0058】
プログラムローダ45は、上述のアプリケーションプログラムを、ホストコンピュータ30から端末装置20を介して送信される、ロード開始コマンド、ロードアプリケーションコマンド、ロード終了コマンドに応じて、EEPROM16に記憶されているプログラムの状態に応じた処理を行い、処理結果をI/F12を介して端末装置20、およびホストコンピュータ30に出力する。
【0059】
具体的には、プログラムローダ45は、ホストコンピュータ30から端末装置20を介して送信された、アプリケーションプログラムのAIDを含むロード開始コマンドが、I/F12を介して受信されると、EEPROM16内に、受信されたAIDと同じAIDを持つアプリケーションプログラムが格納されているか否かを判別する。
そして、プログラムローダ45は、EEPROM16内に、受信されたAIDと同じAIDを持つアプリケーションプログラムが格納されている場合には、新たにアプリケーションプログラムをロード可能であるという、新規ロード可能データ含む返送データをI/F12から、端末装置20を介してホストコンピュータ30に送信させる。
【0060】
また、同一のAIDが存在する場合には、プログラムローダ45は、EEPROM16に記憶されているアプリケーションプログラムが実行可能か否かを判別する。
具体的には、プログラムローダ45は、EEPROM16に、そのアプリケーションプログラムの全てのコンポーネント400が記憶されているか否かが判別される。
そして、プログラムローダ45は、実行可能であると判別された場合には、たとえば、既にロード済であることを示すデータを含む返送データをI/F12から、端末20を介してホストコンピュータ30に送信させる。
【0061】
図5は、図1のICカードのEEPROMに記憶されているアプリケーションプログラムが途中までダウンロードされた状態の一例を示す概念図である。
【0062】
また、プログラムローダ45は、図5に示すように、EEPROM16にアプリケーションプログラムの全てコンポーネント400が記憶されていない場合、具体的には、たとえば、アプリケーションプログラムのコンポーネント400−1〜400−(m−1)までダウンロードされて、コンポーネント400−mのダウンロードの途中で中断された場合には、EEPROM16に、そのコンポーネント400−1〜400−(m−1)を記憶し、残りのコンポーネント400−m〜400−nが未ロードの状態の場合には、コンポーネント400−(m−1)までダウンロードが終了していることを示すデータを含む返送データをI/F12から、端末装置20を介してホストコンピュータ30に送信させる。
【0063】
また、プログラムローダ45は、ホストコンピュータ30から送信され、端末装置20を介して、I/F12でロードアプリケーションコマンドが受信されると、それと共に受信されるコンポーネント400をEEPROM16に記憶させる。
【0064】
また、プログラムローダ45は、端末装置20を介してホストコンピュータ30から送信されたロード終了コマンドがI/F12で受信されて、同時にアプリケーションプログラムの全てのコンポーネントが受信された場合には、分割されたアプリケーションプログラムを統合し、暗号回路13にRSA復号化処理を行わせる。
【0065】
そして、プログラムローダ45は、復号化されたアプリケーションプログラムに対して、構成上の誤りを検出するために、CRC誤り符号検出処理を行い、誤りを検出した場合には、アプリケーションプログラムを再送させるデータを、I/F12から、端末装置20を介してホストコンピュータ30に送信させる。この際、所定の回数、たとえば、2回、再送させるデータを送信した場合には、受信状態が悪いと判断して、EEPROM16に記憶されているダウンロードされたアプリケーションプログラムを消去し、ダウンロードを中止させるデータをI/F12から端末装置20を介してホストコンピュータ30に送信させる。
【0066】
また、プログラムローダ45は、CRC誤り符号検出処理で誤りを検出しない場合には、ダウンロード完了を示すデータを、I/F12から端末装置20を介してホストコンピュータ30に送信させる。
【0067】
上述のようなハードウェア構成およびソフトウェア構成のICカード10は、端末装置20に装着されると、I/F12を介して、端末装置20より電源とクロック信号の提供を受けて起動される。
そして、端末装置20を介して、ホストコンピュータ30からのコマンドに基づいて、ICカード10が処理を行う。
【0068】
次に、上記構成によるICカード10を用いたICカードアプリケーションプログラムロード装置1の動作の概略を図を参照しながら説明する。
【0069】
図6は、本実施の形態に係るICカードアプリケーションプログラムロード装置の動作の一例の概略を示すフローチャートである。
【0070】
ICカード10の所有者が、端末装置20にICカード10を装着することにより、ICカード10および端末装置20の双方で処理が開始され、まず、ICカード10と端末装置20の間で認証処理が行われる。
【0071】
認証処理が終了して、ICカード10がICカードアプリケーションロード装置1で使用されているICカードであると判別されたら、端末装置20から、ICカード10のカードIDを含むデータがホストコンピュータ30に送信される。
【0072】
ホストコンピュータ30では、このカードIDを含むデータが受信され、ICカード10に対する処理が開始される。
【0073】
そして、上述の初期処理が行われた後に、所望のアプリケーションプログラムをダウンロードする処理が行われる。
【0074】
ICカード10に所望のアプリケーションプログラムをダウンロードする処理は、たとえば、図6に示すように、ホストコンピュータ30から端末装置20を介して、AIDの情報を含むロード開始コマンドが送信される(ST31)。
ICカード10では、そのロード開始コマンドが受信される(ST11)。
【0075】
ICカード10では、ロード開始コマンドに含まれるAIDの情報に応じて、プログラムローダ45が所定の処理を行い、その処理結果が返送データとして、I/F12から送信される(ST12)。
ホストコンピュータ30では、端末装置20を介して、その返送データが受信される(ST32)。
【0076】
ホストコンピュータ30では、その返送データに応じてアプリケーションプログラムの送信を行うか否か等の判別が行われ、アプリケーションプログラムを送信する場合には所定の処理を行い、アプリケーションプログラムを含むデータがロードアプリケーションコマンドと共に、端末装置20を介して、ICカード10に送信される(ST33)。
そして、ICカード10では、そのロードアプリケーションコマンドとアプリケーションプログラムが受信される(ST13)。
【0077】
たとえば、具体的には、ホストコンピュータ30では、アプリケーションプログラムにCRC誤り符号訂正処理が行われ、RSA暗号化処理が行われ、そして、図4に示すように、アプリケーションプログラムを所定の大きさのコンポーネントに分割する処理が行われる。
そして、ホストコンピュータ30では、分割されたコンポーネントが、ロードアプリケーションコマンドと共に端末装置20を介してICカード10に送信される。
【0078】
そして、ホストコンピュータ30では、アプリケーションプログラムの全てのコンポーネントを送信後、ロード終了コマンドが、端末装置20を介してICカード10に送信される(ST34)。
ICカード10では、そのロード終了コマンドが受信される(ST14)。
【0079】
ICカード10では、所望のアプリケーションプログラムの全てのコンポーネントが受信されると、分割されたアプリケーションプログラムが統合され、暗号回路13でRSA復号化処理が行われる(ST15)。
【0080】
そして、プログラムローダ45では、復号化されたアプリケーションプログラムに対して、CRC誤り符号検出処理(チェックサム処理ともいう)が行われる(ST16)。
そして、プログラムローダ45では、誤りが検出されない場合には、ダウンロード完了を示すロード状態データがセットされ(ST17)、ステップST21の処理に進む。
【0081】
また、ステップST16の誤り符号検出処理で誤りが検出された場合には、プログラムローダ45では、所定の回数、たとえば、2回、再送させるデータが送信されたか否かが判別され(ST18)、所定の回数、送信された場合には、受信状態が悪いと判断して、EEPROM16に記憶されているダウンロードされたアプリケーションプログラムが消去され、ダウンロードを中止させるデータがセットされ(ST19)、ステップST21の処理に進む。
【0082】
また、ステップST18において、再送させるデータが送信された回数が所定の回数より少ない場合には、アプリケーションプログラムを始めから再送させるデータがセットされ(ST20)、ステップST21の処理に進む。
【0083】
ステップST21において、プログラムローダ45では、上述した処理でセットされたロード状態が、I/F12から、端末装置20を介してホストコンピュータ30に送信される(ST21)。
【0084】
そして、ホストコンピュータ30では、端末装置20を介して、そのロード状態データが受信され(ST35)、アプリケーションプログラムを再送させるロード状態データが含まれている場合には、ステップST31の処理に戻り、ダウンロード処理が始めからやり直される。
また、ダウンロードを中止させるデータおよびダウンロード完了を示すデータが受信された場合には、一連のダウンロード処理を終了する。
【0085】
図7は、図1のICカード10のロード開始コマンドに対する、プログラムローダの処理の一例を示すフローチャートである。
【0086】
ICカード10では、図7に示すように、ホストコンピュータ30から端末装置20を介して送信された、アプリケーションプログラムのAIDを含むロード開始コマンドがI/F12を介して受信されると、プログラムローダ45によりロード開始コマンドからAIDが取得される(ST101)。
【0087】
そして、EEPROM16内に、受信されたAIDと同じAIDを持つアプリケーションプログラムが格納されているか否かの判別が行われる(ST102)。
【0088】
ステップST102の判別において、受信されたAIDと同じアプリケーションプログラムがEEPROM16に格納されていないと判別された場合には、新規ロード可能データがセットされ(ST103)、ステップST12の処理に進む。
【0089】
また、ステップST102の判別において、同一のAIDが存在すると判別された場合には、そのアプリケーションプログラムは実行可能か否かが判別される(ST104)。
【0090】
ステップST104の判別において、実行可能であると判別された場合には、たとえば、既にロード済であることを示すデータがセットされ(ST105)、ステップST12の処理に進む。
【0091】
また、ステップST104の判別において、アプリケーションプログラムが実行可能ではないと判別された場合には、EEPROM16に格納されている有効なコンポーネントが調査される(ST106)。
【0092】
たとえば、ICカード10にアプリケーションプログラムがダウンロードされている途中に、何らかの理由、たとえば、電波の受信状態が悪くデータが受信できなくなった場合や、電源が遮断された場合などの理由で、ダウンロードが中断された場合には、図5に示すように、たとえば、アプリケーションプログラムのコンポーネント400−1〜400−(m−1)までダウンロードされて、コンポーネント400−mのダウンロードの途中で中断された場合には、EEPROM16には、そのコンポーネント400−(m−1)が記憶され、残りのコンポーネント400−m〜400−nが未ロードの状態である。
【0093】
そして、プログラムローダ45では、EEPROM16のアプリケーションプログラムの状態が、たとえば、上述の状態の場合には、ロード済のコンポーネントの状態であるコンポーネント400−(m−1)までダウンロードが終了していることを示すデータがセットされ(ST107)、ステップST12の処理に進む。
【0094】
ステップST12では、上述の処理でセットされたデータを含む返送データがI/F12から、端末装置20を介してホストコンピュータ30に送信される。
【0095】
図8は、図1の端末装置およびホストコンピュータの詳細なアプリケーションプログラムのダウンロード処理の一例を示すフローチャートである。
【0096】
上述したように、図8に示すように、アプリケーションプログラムをICカード10にダウンロードする際に、ホストコンピュータ30から、端末装置20を介して、AIDの情報を含むロード開始コマンドが送信される(ST31)。
【0097】
ICカード10では、ロード開始コマンドに含まれるAIDの情報に応じて、プログラムローダ45が所定の処理を行い、その処理結果が返送データとして、端末装置20を介してホストコンピュータ30に送信される。
ホストコンピュータ30では、端末装置20を介して、その返送データが受信される(ST32)。
【0098】
そして、ホストコンピュータ30では、図8に示すように、その返送データに含まれるデータに応じた処理が行われる。
【0099】
具体的には、ホストコンピュータ30では、返送データに、既にロード済であるというデータが含まれているか否かの判別が行われる(ST301)。
そして、既にロード済であるというデータが含まれていると判別された場合には、ダウンロードの処理を終了する(ST302)。
【0100】
また、ステップST301の判別において、ロード済のデータが含まれていないと判別された場合には、返送データに新規ロードであるというデータが含まれているか否かの判別が行われる(ST303)。
【0101】
新規にロードアプリケーションコマンドが送信され、アプリケーションプログラムのデータが端末装置20を介して、ICカード10に送信される(ST304)。
そして、ステップST34の処理に進む。
【0102】
また、ステップST303の判別において、返送データに新規ロードであるというデータが含まれていないと判別された場合には、返送データにロード済のコンポーネントのデータが含まれているか否かの判別が行われる(ST305)。
【0103】
ステップST305の判別において、返送データにロード済のコンポーネントのデータが含まれていない場合には、返送データには、有効なデータが含まれていないとして、ダウンロードに関する処理を終了する(ST306)。
【0104】
ステップST305の判別において、返送データにロード済のコンポーネントのデータが含まれている場合には、そのデータに基づいて、たとえば、具体的には、返送データにアプリケーションプログラムのm−1番目のコンポーネントまでダウンロード済であるというデータが含まれている場合には、m番目のコンポーネントから終わりのn番目のコンポーネントのデータまでが、ロードアプリケーションコマンドと共に端末装置20を介して送信される(ST307)。
【0105】
そして、ステップST34において、アプリケーションプログラムの全てのコンポーネントが送信されると、ホストコンピュータ30では、ロード状態データが、端末装置20を介して、ICカード10に送信される。
ICカード10では、そのロード終了コマンドが受信され、所望のアプリケーションプログラムの全てのコンポーネントが受信されると、上述した所定の処理が行われ、ロード状態を示すデータが、端末装置20を介してホストコンピュータ30に送信される。
【0106】
そして、ホストコンピュータ30では、端末装置20を介して、ロード状態を示すデータが受信されると(ST35)、そのデータにダウンロードが完了したことを示すデータが含まれているか否かの判別が行われ(ST36)、含まれていない場合には、ダウンロードの中止を示すデータが含まれているか否かの判別が行われ(ST37)、含まれていない場合には、再送のデータが含まれているとして、ステップST31の処理に戻り、ダウンロードの一連の処理が始めから行われる。
【0107】
また、ステップST36の判別において、完了を示すデータが含まれていると判別された場合、および、ステップST37の判別において、ダウンロード中止を示すデータが含まれていると判別された場合には、一連のダウンロードの処理が終了する(ST38)。
【0108】
以上説明したように、本実施の形態によれば、アプリケーションプログラムを所望の大きさに分割し、要求に応じて、ICカード10で実行可能なアプリケーションプログラムを記憶しアプリケーションプログラムを暗号化し、分割してコンポーネント400として提供する端末装置20およびホストコンピュータ30と、その端末装置20およびホストコンピュータ30とアクセスするI/F12と、受信された分割されたコンポーネント400を記憶するEEPROM16と、アプリケーションプログラムを受信中に、受信が中断された場合には、アプリケーションプログラムの正常に受信された部分以外の部分のコンポーネント400の再送要求をI/F12に送信させ、再送要求を所定の回数だけ送信してもアプリケーションプログラムが正常に受信されない場合には、再送要求を打ち切り、EEPROM16が記憶している正常に受信されたアプリケーションプログラムのコンポーネント400を消去し、I/F12が全ての暗号化され分割されたアプリケーションプログラムを受信した場合には、暗号化され分割されたアプリケーションプログラムを統合し復号化し、アプリケーションプログラム全体が正常な構成であるか否かの誤り検出処理を行うプログラムローダ45を動作させるCPU11とを設けたので、アプリケーションプログラム等のデータのダウンロードが中断された場合であっても、より短い時間で再度ダウンロードすることができる。
【0109】
また、アプリケーションプログラムは、暗号化処理されてダウンロードされるので、セキュリティ性が高い。
また、ICカード10では、誤り検出処理が行われるので、アプリケーションプログラムのダウンロードにおいて、誤りが起きにくい。
また、所定の回数、ダウンロードを試行してもアプリケーションプログラムを正常にダウンロードすることができない場合には、受信状態が良くないとして、再送要求を打ち切り、EEPROM16に記憶されたアプリケーションプログラムの部分を削除するので、不確かな受信状態で受信するICカードよりも、アプリケーションプログラムに対する信頼性が高い。
【0110】
なお、本発明は本実施の形態に限られるものではなく、任意好適な種々の改変が可能である。たとえば、本実施の形態では、アプリケーションプログラムのコンポーネントが連続して、ホストコンピュータ30および端末装置20から送信されているとし、中断された途中から再開するとしたが、この形態に限られるものではない。たとえば、アプリケーションプログラムのコンポーネントの順序を特に規定しないでホストコンピュータ30および端末装置20からICカード10に送信させる場合には、ICカード10よりロード途中であることを示すデータとして、全コンポーネントの情報を送信するようにすることで、容易に対応可能である。
【0111】
また、本実施の形態では、分割されたアプリケーションプログラムの全てを受信した場合には、プログラムローダ45により、アプリケーションプログラム全体が正常な構成であるか否かの誤り符号検出処理が行われたが、この形態に限られるものではない。
たとえば、分割されたアプリケーションプログラムを受信した場合に、その分割されたアプリケーションプログラム毎に確認処理、たとえば、誤り符号検出処理を行ってもよい。
【0112】
【発明の効果】
以上説明したように、本発明によれば、アプリケーションプログラム等のデータのダウンロードが中断された場合であっても、より短い時間で再度ダウンロードすることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るICカードアプリケーションプログラムロード装置を説明するための概略図である。
【図2】図1のICカードにおけるメモリシステムの一例を示す概念図である。
【図3】図1のICカードに搭載されるアプリケーションプログラムの構成の一例を示す模式図である。
【図4】図1のホストコンピュータから端末装置を介して送信されるアプリケーションプログラムの状態の一例を示す図である。
【図5】図1のICカードのEEPROMに記憶されているアプリケーションプログラムの状態を示す概念図である。
【図6】本実施の形態のICカードアプリケーションプログラムロード装置の動作の一例の概略を示すフローチャートである。
【図7】図1のICカード10のロード開始コマンドに対する、プログラムローダの処理の一例を示すフローチャートである。
【図8】図1の端末装置およびホストコンピュータの詳細なアプリケーションプログラムのダウンロード処理の一例を示すフローチャートである。
【符号の説明】
1…ICカードアプリケーションプログラムロード装置
4−1…コード部
4−2…データ部
10…ICカード
11…CPU
12…インターフェイス(I/F)
13…暗号回路
14…RAM
15…ROM
16…EEPROM
BS…バス
20…端末装置
30…ホストコンピュータ
41…OSカーネル部
42…インタプリタ
43−1…第1のアプリケーションプログラム(AP)
43−2…第2のアプリケーションプログラム(AP)
44…処理モジュール
45…プログラムローダ(PL)
400−1〜n…コンポーネント
[0001]
BACKGROUND OF THE INVENTION
  The present invention stores, for example, an application program that can be executed by an IC card and provides the application program by dividing it.Communication system and application program transmission methodIt is about.
[0002]
[Prior art]
With the development of integration technology and the like, an IC card incorporating a CPU and a memory has been put into practical use and attracting attention.
[0003]
The memory of the above-described IC card usually includes a read only memory (ROM), a rewritable nonvolatile memory such as an EEPROM (Electrically Erasable and Programmable Read Only Memory), and a RAM (Random Access Memory). .
[0004]
In recent years, a multi-application IC card having a configuration in which an interpreter called a multi-application card OS is resident in the above-described memory is known.
In an IC card equipped with such an interpreter, a program written in a programming language is stored in, for example, the above-described EEPROM, so that an OS is added to and deleted from the card even after the card is issued. be able to.
[0005]
There is also known an IC card having high security, in which the above-mentioned IC card is provided with advanced encryption technology.
[0006]
The above-described IC card is used when making a purchase by paying for a product, a concert ticket, or the like via the Internet, a mobile phone, or the like, using its high security.
[0007]
In this IC card, for example, an application program that functions as a credit or an electronic wallet is stored in an EEPROM or the like in the IC card, and a settlement procedure is performed using the application program.
[0008]
For example, when purchasing a concert ticket, a ticket application program is downloaded to the above-described IC card via the Internet or a mobile phone.
This ticket application program includes, for example, information indicating that the ticket is a valid ticket holder and information such as a designated seat.
When this IC card is presented instead of an admission ticket at the entrance to the concert venue, the ticket application program confirms the information indicating the above-mentioned valid ticket holder using, for example, an encryption technique. Done.
For this reason, by using the above-described highly secure IC card, it is not necessary to go to the ticket center and obtain a ticket, which increases convenience.
[0009]
[Problems to be solved by the invention]
By the way, in the conventional multi-application type IC card described above, when one application program is registered in the IC card, the application program is divided into a plurality of components and downloaded.
[0010]
For example, one application program is composed of a code part and a data part. Usually, the data size of the entire application program is 3 to 7 KB, and the data length of a command for the above-described conventional IC card is 1 to 255 bytes. Therefore, it is divided and downloaded to the IC card.
[0011]
For example, when an application program is downloaded to an IC card using radio waves from a mobile phone or the like, the data amount of the application program itself is much larger than the amount of data exchanged during the settlement procedure. It takes time.
[0012]
In some cases, such as when the reception state of radio waves is poor, the data of the received application program may be interrupted while the application program is being downloaded.
[0013]
However, in the case of the conventional IC card, in the case described above, even if most of the application program has already been downloaded to the IC card, the application program must be downloaded again from the beginning. There is.
For this reason, it took a lot of time, and it was necessary to make a phone call for a longer time with a mobile phone or the like.
[0014]
Even when downloading is interrupted during downloading, for example, because the IC card is pulled out of the terminal device, the majority of application programs have already been downloaded to the IC card. Even in this case, there is a problem that the application program must be downloaded again from the beginning.
[0015]
  The present invention has been made in view of such circumstances, and the object thereof is to download again in a shorter time even when downloading of data such as an application program is interrupted.Communications systemandApplication program transmission methodIs to provide.
[0016]
[Means for Solving the Problems]
  According to the present invention, a host computer, a terminal device capable of exchanging information with the host computer by wireless communication, and the terminal device mounted on the terminal deviceAnd data transfer is possible,Executes an application program received from the host computer via the terminal deviceA communication system having an IC card,
  The host computer holds an application program that operates on the IC card,
  The application program is composed of a code part and a data part in which data described in a program language is stored.
  The code part stores an application identifier (AID) including a registered application provision identifier (RID),
  The host computerVia the terminal deviceFrom the IC cardofIn response to the application program send request,
    To the IC cardPerform error code processing on the entire application program to be sent,
    The error code processed application program has a desired size.Split into multiple components,
    PluralInThe divided component is transmitted to the terminal device by wireless communication,
  The terminal device is transmitted from the host computerAboveReceive the component,The received componentAttached to the terminal deviceAboveTransfer to IC card,
  The IC card is
    SaidTerminal deviceTransferred fromAboveReceive componentsReceiving meansWhen,
    A storage unit for storing application programs;
    With signal processing means
  Have
  The signal processing means includes
    When all components of the application program are not stored in the storage unit with reference to the application identifier (AID) including the registered application provision identifier (RID) stored in the storage unit, an unloaded component Request to the host computer through the terminal device,
    Input via the receiving means,Storing a plurality of components transferred from the terminal device in the storage unit;
    The transferred plurality ofComponentIntegratedCorresponds to the original application program before being divided in the host computerApplication programDecrypt,
    SaidFor decrypted application programsPerform error code detection processing,
    If no errors are detected,AboveEnd the reception process,
    If an error is detected,
      Within a predetermined number of times, the host computer is againThatRequest to send the component,
      AboveIf you exceed the specified number of times,
        From the host computerAboveStop sending,
        Stored in the storage unitComponentStorageErase from
  A communication system is provided.
[0017]
  Preferably, the signal processing means of the IC card is
    Received by the receiving meansAboveWhen an application identifier (AID) included in a component is stored in the storage unit,
      applicationprogramCheck whether or not
        If it can be executed, the loaded data is set in the application identifier (AID).
        If not feasible, investigate valid components,In the application identifier (AID)Set data to indicate the state of the loaded component,
    Received by the receiving meansAboveIncluded in componentAboveWhen the application identifier (AID) is not stored in the storage unit,
      In the application identifier (AID)Set new loadable data,
      In the host computer,The application identifier (AID)Send.
[0018]
  Preferably, the host computer encrypts the entire application program to be transmitted.After the encryption process,Error code processing is performed, and the signal processing means of the IC card performs decoding processing on the integrated application program to perform error code processing.
[0019]
  Preferably, when the IC card is attached to the terminal device, the terminal device performs an authentication process of the attached IC card, and the IC card for which the authentication process is validAbovePerform the transfer process.
[0020]
  According to the present invention having the above configuration, for example,Host computerStores application programs that can be executed by the IC card.
  And that application programThrough the terminalWhen transmitting to an IC card, it is divided into a predetermined size and transmitted.
  At this time, the security is enhanced by encrypting the application program and transmitting it to the IC card.
[0021]
  And IC cardReceiving meansThenHost computer via terminal deviceThe application program divided and transmitted by is received.
  StorageThenReceiving meansThe divided application program received in is stored.
[0022]
  AndReceiving meansButHost computerFor some reason, for example, while receiving the application program sent byIn the wireless communication system from the host computer to the terminal deviceIf reception is interrupted due to poor transmission conditions,Signal processing meansThen, the retransmission request for the part other than the part of the application program received normally is sentReceiving meansTo send to.
[0023]
  Also,Signal processing meansThen, if the application program is not normally received, a retransmission request is transmitted a predetermined number of times, for example, twice, and if it is not received normally, the transmission state is not good for a long time. Abort resending request,In memoryErase the part of the application program that has been successfully received.
[0024]
  Also,Signal processing meansIsReceiving meansWhen all the encrypted and divided application programs are received, the encrypted and divided application programs are integrated and decrypted. By doing so, security is further enhanced.
[0025]
  Also,Signal processing meansIsReceiving meansWhen the application program divided by is received, a process for confirming whether each divided application program has a normal configuration is performed, orReceiving meansWhen all of the application programs divided in (1) are received, a confirmation process is performed as to whether or not the entire application program has a normal configuration.
  By doing so, errors during the transmission of the application program and errors in the configuration can be eliminated.
[0026]
  According to the present invention, a host computer, a terminal device capable of exchanging information with the host computer by wireless communication, and the terminal device mounted on the terminal deviceAnd data transfer is possible,Executes an application program received from the host computer via the terminal deviceAn application program transmission method in a communication system having an IC card,
  The application program is held in the host computer,
  The application program is composed of a code part and a data part in which data described in a program language is stored, and the code part stores an application identifier including a registered application providing identifier,
  The host computerVia the terminal deviceFrom the IC cardofIn response to the application program send request,
    To the IC cardPerform error code processing on the entire application program to be sent,
    The error code processed application program has a desired size.Split into multiple components,
    PluralInThe divided component is transmitted to the terminal device by wireless communication,
  The terminal device is transmitted from the host computerAboveReceive the component,The received componentAttached to the terminal deviceAboveTransfer to IC card,
  The IC card is
    Referring to the application identifier (AID) including the registered application provision identifier (RID) stored in the storage unit, if not all components of the application program are stored in the storage unit, unloaded components are A request to send to the host computer via the terminal device;
    Sent from the host computer,SaidTerminal deviceForwarded viaAboveReceive the component,
    The received component is stored in the storage unit.Remember,
    The transferred plurality ofComponentIntegratedCorresponds to the original application program before being divided in the host computerApplication programDecrypt,
    SaidFor decrypted application programsPerform error code detection processing,
    If no errors are detected,AboveEnd the reception process,
    If an error is detected,
      Within a predetermined number of times, the host computer is againThatRequest to send the component,
      AboveIf you exceed the specified number of times,
        From the host computerAboveStop sending,
        Stored in the storage unitComponentStorageErase from
  A method for transmitting an application program is provided.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
  FIG. 1 illustrates the present invention.Communication systemIt is the schematic for demonstrating the IC card application program load apparatus which concerns on one embodiment.
[0028]
The IC card application program loading device 1 according to the present embodiment includes an IC card 10, a terminal device 20 as an information processing device, and a host computer 30, as shown in FIG.
[0029]
The IC card 10 is an IC card having a specific function that is issued and managed by a card issuing company and carried by an individual.
For example, the IC card 10 downloads data such as an application program from the host computer 30 via the terminal device 20, and executes the application program to perform a desired process. The IC card 10 can store a plurality of application programs.
[0030]
The terminal device 20 accesses the host computer 30 of the IC card issuing company or the company providing the service using wireless or the like, and transfers communication data between the host computer 30 and the mounted IC card 10. For example, the terminal device 20 is a portable phone having a reader / writer function of the IC card 10.
[0031]
The terminal device 20 is activated when the IC card 10 is inserted, and performs an authentication process for the IC card 10, that is, a process for determining whether or not the IC card 10 can be processed by the terminal device 20. When the IC card 10 is authorized, the IC card 10 can communicate with the host computer 30 via the terminal device 20.
The terminal device 20 performs processing on the IC card 10 transmitted from the host computer 30 while sequentially communicating with the host computer 30 and the IC card 10.
[0032]
For example, in response to a request from the IC card 10 and the terminal device 20, the host computer 30 transmits data such as an application program to the IC card 10 via the terminal device 20. For example, the host computer 30 is a personal computer having a communication function.
[0033]
Specifically, the host computer 30 performs a predetermined encryption process, for example, RSA (Rivest-Shamir-Adleman) encryption, in response to a download request for the application program from the IC card 10 and the terminal device 20. Processing is performed and divided into components of a desired size and transmitted as will be described later.
[0034]
At this time, when integrating the application program divided by the IC card, the host computer 30 adds an error code in order to check whether or not the integrated application program has a normal configuration. I do.
For example, as processing for adding an error code, the host computer 30 performs processing for adding redundancy such as a CRC (Cyclic Redundancy Check) error code method or a BCH (Bose-Chaudhuri-Hocquenghem code) code method.
[0035]
Further, in response to a request transmitted from the IC card 10 via the terminal device 20, for example, a request for downloading from a component in the middle of the application program, the host computer 30 transmits the component of the application program via the terminal device 20. , Output to the IC card 10.
[0036]
As shown in FIG. 1, the IC card 10 includes a CPU (Central Processing Unit) 11, an interface (I / F) 12, an encryption circuit 13, a RAM 14, a ROM 15, an EEPROM 16, and a bus BS.
[0037]
The CPU 11, I / F 12, encryption circuit 13, RAM 14, ROM 15, and EEPROM 16 are connected to the bus BS.
[0038]
The CPU 11 communicates with the terminal device 20 through the I / F 12 according to commands from the terminal device 20, commands set in the ROM 15 in advance, application programs stored in the EEPROM 16, and the like, which will be described later. Perform the process.
[0039]
For example, when the IC card 10 is attached to the terminal device 20, the I / F 12 receives power and a clock and transmits / receives data to / from the terminal device 20. That is, the signal received from the terminal device 20 is output to the CPU 11, and the signal input by the CPU 11 is transmitted to the terminal device 20.
[0040]
The encryption circuit 13 performs a process for decrypting data received by the I / F 12 and an encryption process. For example, the encryption circuit 13 includes an encryption / decryption coprocessor (not shown) and a random number generator.
For example, the encryption circuit 13 performs an RSA decryption process on the data subjected to the RSA encryption process received by the I / F 12 using, for example, a decryption key stored in the EEPROM 16 in advance.
[0041]
For example, the RAM 14 is used as a work area when a program or the like is executed by the CPU 11. The ROM 15 stores predetermined initial values, card IDs, and the like.
[0042]
The RAM 14, the ROM 15, and the EEPROM 16 constitute a memory system of the IC card 10 to be described later.
[0043]
FIG. 2 is a conceptual diagram showing an example of a memory system in the IC card 10 of FIG.
[0044]
As shown in FIG. 2, for example, the IC card 10 includes an OS kernel unit 41 stored in the ROM 15, an interpreter 42 stored in the EEPROM 16 and arranged in a layer above the OS kernel unit 41, and a first application. It has a program (hereinafter also referred to as AP) 43-1, a second application program (AP) 43-2, a processing module 44, and a program loader (hereinafter also referred to as PL) 45.
[0045]
The OS kernel unit 41 is a kernel unit of the OS of the IC card 10 and is designed corresponding to the hardware of the IC card 10 and manages hardware resources thereof.
The OS kernel unit 41 controls the I / F 12 of the IC card 10 and inputs / outputs data to / from the terminal device 20.
The OS kernel unit 41 provides an interface for accessing the hardware of the IC card 10 from an upper layer program.
Based on the above functions, the OS kernel unit 41 controls the operation of the upper layer program.
[0046]
The OS kernel unit 41 is installed in the ROM 15 by the IC card manufacturer before issuing the IC card, and cannot be rewritten.
[0047]
For example, when the interpreter 42 executes a first application program 43-1 and a second application program 43-2 which will be described later, the interpreter 42 sequentially converts the source code into an executable code.
Further, the interpreter 42 calls the processing module 44 as necessary, and implements predetermined functions of the IC card while accessing the IC card hardware using the system data of the IC card.
If the application program is described in the machine language of the CPU of the IC chip, it is not necessary to operate the interpreter 42.
[0048]
The first application program 43-1 and the second application program 43-2 are described and executed in a program language decipherable by the interpreter 42, for example, thereby executing various specific services such as settlement. , Process the identity of the ticket.
In addition, the first application program 43-1 and the second application program 43-2 are arranged above the interpreter 42.
[0049]
The processing module 44 enables various functions of the OS kernel unit 41 to be used by upper layer application programs. For example, the processing module 44 includes, for example, an encryption processing library. The encryption processing library is a library that is referred to during encryption processing and decryption processing of the encryption circuit 13.
[0050]
The program loader (PL) 45 is, for example, a module that downloads a new application program to the IC card 10 and stores it in the rewritable EEPROM 16.
[0051]
FIG. 3 is a schematic diagram showing a configuration of an application program mounted on the IC card of FIG.
[0052]
As shown in FIG. 3, the application program mounted on the IC card 10 includes, for example, a code part 4-1 and a data part 4-2.
[0053]
The code part 4-1 describes, for example, an application identifier AID (Application Identifier), and is composed of, for example, a registered application provider identifier RID and an independent application extension identifier (PIX).
[0054]
The RID is uniquely assigned to each application program provider in accordance with, for example, ISO 7816-5. For example, the size of the code part 4-1 is 5 bytes.
PIX is arbitrarily set by the application program provider and is an optional field of a maximum of 11 bytes.
[0055]
In the data part 4-2, for example, data described in a programming language that realizes a desired function is described.
[0056]
FIG. 4 is a diagram showing an example of the state of the application program transmitted from the host computer of FIG. 1 via the terminal device.
[0057]
The application program is encrypted, for example, and divided into components 400-1 to 400-n each having a desired size, for example, 255 bytes, as shown in FIG. It is transmitted to the IC card 10.
[0058]
The program loader 45 changes the above-described application program to the state of the program stored in the EEPROM 16 according to the load start command, load application command, and load end command transmitted from the host computer 30 via the terminal device 20. The corresponding processing is performed, and the processing result is output to the terminal device 20 and the host computer 30 via the I / F 12.
[0059]
Specifically, when the load start command including the AID of the application program transmitted from the host computer 30 via the terminal device 20 is received via the I / F 12, the program loader 45 stores in the EEPROM 16. It is determined whether or not an application program having the same AID as the received AID is stored.
Then, when an application program having the same AID as the received AID is stored in the EEPROM 16, the program loader 45 returns return data including newly loadable data indicating that the application program can be newly loaded. The data is transmitted from the I / F 12 to the host computer 30 via the terminal device 20.
[0060]
If the same AID exists, the program loader 45 determines whether or not the application program stored in the EEPROM 16 can be executed.
Specifically, the program loader 45 determines whether or not all the components 400 of the application program are stored in the EEPROM 16.
When it is determined that the program loader 45 can be executed, the program loader 45 transmits, for example, return data including data indicating that it has already been loaded from the I / F 12 to the host computer 30 via the terminal 20. Let
[0061]
FIG. 5 is a conceptual diagram showing an example of a state in which the application program stored in the EEPROM of the IC card in FIG. 1 has been downloaded halfway.
[0062]
Further, as shown in FIG. 5, the program loader 45, when not all the application program components 400 are stored in the EEPROM 16, specifically, for example, the application program components 400-1 to 400- (m−1). ) And is interrupted in the middle of the download of the component 400-m, the component 400-1 to 400- (m-1) is stored in the EEPROM 16, and the remaining components 400-m to 400 are stored. When -n is in an unloaded state, return data including data indicating that the download to the component 400- (m-1) is completed is sent from the I / F 12 to the host computer 30 via the terminal device 20. To send to.
[0063]
Further, when the load application command is received by the I / F 12 transmitted from the host computer 30 via the terminal device 20, the program loader 45 stores the component 400 received together with it in the EEPROM 16.
[0064]
The program loader 45 is divided when the load end command transmitted from the host computer 30 via the terminal device 20 is received by the I / F 12 and all components of the application program are received at the same time. The application program is integrated, and the encryption circuit 13 is caused to perform RSA decryption processing.
[0065]
Then, the program loader 45 performs a CRC error code detection process on the decoded application program in order to detect a structural error. When an error is detected, the program loader 45 sends data for retransmitting the application program. The I / F 12 transmits the data to the host computer 30 via the terminal device 20. At this time, if data to be retransmitted is transmitted a predetermined number of times, for example, twice, it is determined that the reception state is bad, the downloaded application program stored in the EEPROM 16 is erased, and the download is stopped. Data is transmitted from the I / F 12 to the host computer 30 via the terminal device 20.
[0066]
If no error is detected in the CRC error code detection process, the program loader 45 causes the data indicating download completion to be transmitted from the I / F 12 to the host computer 30 via the terminal device 20.
[0067]
When the IC card 10 having the hardware configuration and the software configuration as described above is attached to the terminal device 20, the IC card 10 is activated by receiving a power supply and a clock signal from the terminal device 20 via the I / F 12.
Then, the IC card 10 performs processing based on a command from the host computer 30 via the terminal device 20.
[0068]
Next, an outline of the operation of the IC card application program loading apparatus 1 using the IC card 10 having the above configuration will be described with reference to the drawings.
[0069]
FIG. 6 is a flowchart showing an outline of an example of the operation of the IC card application program loading device according to the present embodiment.
[0070]
When the owner of the IC card 10 attaches the IC card 10 to the terminal device 20, processing is started in both the IC card 10 and the terminal device 20. First, authentication processing is performed between the IC card 10 and the terminal device 20. Is done.
[0071]
When the authentication process is completed and it is determined that the IC card 10 is an IC card used in the IC card application loading device 1, data including the card ID of the IC card 10 is transmitted from the terminal device 20 to the host computer 30. Sent.
[0072]
The host computer 30 receives the data including the card ID and starts processing for the IC card 10.
[0073]
Then, after the above-described initial processing is performed, processing for downloading a desired application program is performed.
[0074]
In the process of downloading a desired application program to the IC card 10, for example, as shown in FIG. 6, a load start command including AID information is transmitted from the host computer 30 via the terminal device 20 (ST31).
The IC card 10 receives the load start command (ST11).
[0075]
In the IC card 10, the program loader 45 performs a predetermined process according to the AID information included in the load start command, and the process result is transmitted from the I / F 12 as return data (ST12).
The host computer 30 receives the return data via the terminal device 20 (ST32).
[0076]
The host computer 30 determines whether or not to transmit the application program according to the return data, and performs predetermined processing when transmitting the application program, and the data including the application program is loaded to the load application command. At the same time, it is transmitted to the IC card 10 via the terminal device 20 (ST33).
Then, the IC card 10 receives the load application command and application program (ST13).
[0077]
For example, specifically, in the host computer 30, a CRC error code correction process is performed on the application program, an RSA encryption process is performed, and, as shown in FIG. The process of dividing into two is performed.
In the host computer 30, the divided components are transmitted to the IC card 10 through the terminal device 20 together with the load application command.
[0078]
Then, after transmitting all the components of the application program, the host computer 30 transmits a load end command to the IC card 10 via the terminal device 20 (ST34).
The IC card 10 receives the load end command (ST14).
[0079]
In IC card 10, when all components of the desired application program are received, the divided application programs are integrated, and RSA decryption processing is performed by encryption circuit 13 (ST15).
[0080]
Then, the program loader 45 performs CRC error code detection processing (also referred to as checksum processing) on the decoded application program (ST16).
If no error is detected, the program loader 45 sets the load state data indicating the completion of download (ST17), and proceeds to the process of step ST21.
[0081]
If an error is detected in the error code detection process in step ST16, the program loader 45 determines whether data to be retransmitted has been transmitted a predetermined number of times, for example, twice (ST18). Is transmitted, the received application program stored in the EEPROM 16 is erased, data for stopping the download is set (ST19), and the process of step ST21 is performed. Proceed to
[0082]
In step ST18, if the number of times data to be retransmitted is less than the predetermined number, the data to be retransmitted from the beginning is set (ST20), and the process proceeds to step ST21.
[0083]
In step ST21, the program loader 45 transmits the load state set by the above-described processing from the I / F 12 to the host computer 30 via the terminal device 20 (ST21).
[0084]
Then, the host computer 30 receives the load status data via the terminal device 20 (ST35), and if the load status data for resending the application program is included, the host computer 30 returns to the processing of step ST31 and downloads it. Processing starts over from the beginning.
In addition, when the data for stopping the download and the data indicating the completion of the download are received, the series of download processing is ended.
[0085]
FIG. 7 is a flowchart showing an example of processing of the program loader in response to the load start command of the IC card 10 of FIG.
[0086]
In the IC card 10, when a load start command including the AID of the application program transmitted from the host computer 30 via the terminal device 20 is received via the I / F 12 as shown in FIG. Thus, the AID is acquired from the load start command (ST101).
[0087]
Then, it is determined whether or not an application program having the same AID as the received AID is stored in the EEPROM 16 (ST102).
[0088]
If it is determined in step ST102 that the same application program as the received AID is not stored in the EEPROM 16, new loadable data is set (ST103), and the process proceeds to step ST12.
[0089]
If it is determined in step ST102 that the same AID exists, it is determined whether or not the application program can be executed (ST104).
[0090]
If it is determined in step ST104 that execution is possible, for example, data indicating that it has already been loaded is set (ST105), and the process proceeds to step ST12.
[0091]
If it is determined in step ST104 that the application program is not executable, valid components stored in the EEPROM 16 are examined (ST106).
[0092]
For example, while the application program is being downloaded to the IC card 10, the download is interrupted for some reason, for example, when the reception of radio waves is bad and data cannot be received or the power is shut off. In the case of being downloaded, as shown in FIG. 5, for example, when the components 400-1 to 400- (m-1) of the application program are downloaded and interrupted in the middle of the downloading of the component 400-m. In the EEPROM 16, the component 400- (m-1) is stored, and the remaining components 400-m to 400-n are in an unloaded state.
[0093]
Then, in the program loader 45, when the state of the application program in the EEPROM 16 is, for example, the above-described state, the download to the component 400- (m−1) that is the state of the loaded component is completed. The data shown is set (ST107), and the process proceeds to step ST12.
[0094]
In step ST <b> 12, return data including the data set by the above-described processing is transmitted from the I / F 12 to the host computer 30 via the terminal device 20.
[0095]
FIG. 8 is a flowchart illustrating an example of detailed application program download processing of the terminal device and the host computer of FIG.
[0096]
As described above, when the application program is downloaded to the IC card 10 as shown in FIG. 8, a load start command including AID information is transmitted from the host computer 30 via the terminal device 20 (ST31). ).
[0097]
In the IC card 10, the program loader 45 performs a predetermined process according to the AID information included in the load start command, and the processing result is transmitted as return data to the host computer 30 via the terminal device 20.
The host computer 30 receives the return data via the terminal device 20 (ST32).
[0098]
Then, in the host computer 30, processing corresponding to the data included in the return data is performed as shown in FIG.
[0099]
Specifically, the host computer 30 determines whether or not the return data includes data that has already been loaded (ST301).
If it is determined that data that has already been loaded is included, the download process is terminated (ST302).
[0100]
If it is determined in step ST301 that the loaded data is not included, it is determined whether the return data includes data indicating a new load (ST303).
[0101]
A new load application command is transmitted, and data of the application program is transmitted to the IC card 10 via the terminal device 20 (ST304).
Then, the process proceeds to step ST34.
[0102]
If it is determined in step ST303 that the return data does not include data indicating a new load, it is determined whether the return data includes data of a loaded component. (ST305).
[0103]
If it is determined in step ST305 that the return data does not include the loaded component data, the return data does not include valid data, and the download processing is terminated (ST306).
[0104]
If it is determined in step ST305 that the return data includes the data of the loaded component, for example, based on that data, specifically, the return data includes the m-1th component of the application program. If the data indicating that the data has been downloaded is included, data from the mth component to the data of the last nth component are transmitted together with the load application command via the terminal device 20 (ST307).
[0105]
In step ST34, when all the components of the application program are transmitted, the host computer 30 transmits the load status data to the IC card 10 via the terminal device 20.
In the IC card 10, when the load end command is received and all components of the desired application program are received, the above-described predetermined processing is performed, and the data indicating the load state is transmitted via the terminal device 20 to the host. It is transmitted to the computer 30.
[0106]
When the host computer 30 receives the data indicating the load state via the terminal device 20 (ST35), the host computer 30 determines whether or not the data indicating that the download is complete is included. (ST36), if it is not included, it is determined whether or not data indicating that download is to be stopped is included (ST37). If it is not included, retransmission data is included. As a result, the process returns to step ST31, and a series of download processes are performed from the beginning.
[0107]
If it is determined in step ST36 that data indicating completion is included, and if it is determined in step ST37 that data indicating download stop is included, The download process ends (ST38).
[0108]
As described above, according to the present embodiment, the application program is divided into a desired size, the application program executable by the IC card 10 is stored and the application program is encrypted and divided as required. The terminal device 20 and the host computer 30 provided as the component 400, the I / F 12 that accesses the terminal device 20 and the host computer 30, the EEPROM 16 that stores the received divided component 400, and the application program are being received. In addition, when reception is interrupted, the application program is transmitted even if the retransmission request of the component 400 other than the normally received part of the application program is transmitted to the I / F 12 and the retransmission request is transmitted a predetermined number of times. If the program is not normally received, the retransmission request is aborted, the normally received application program component 400 stored in the EEPROM 16 is erased, and the I / F 12 is all encrypted and divided application programs. When received, the CPU 11 is provided to operate the program loader 45 for integrating and decrypting the encrypted and divided application program and performing error detection processing to determine whether or not the entire application program has a normal configuration. Even when downloading of data such as an application program is interrupted, it can be downloaded again in a shorter time.
[0109]
In addition, since the application program is downloaded after being encrypted, the security is high.
Further, since error detection processing is performed in the IC card 10, errors are unlikely to occur during downloading of application programs.
Also, if the application program cannot be downloaded normally after a predetermined number of attempts, the retransmission request is aborted and the application program portion stored in the EEPROM 16 is deleted because the reception state is not good. Therefore, the reliability of the application program is higher than that of an IC card that receives an uncertain reception state.
[0110]
Note that the present invention is not limited to the present embodiment, and various suitable modifications can be made. For example, in this embodiment, it is assumed that the components of the application program are continuously transmitted from the host computer 30 and the terminal device 20 and resumed from the middle of the interruption. However, the present invention is not limited to this form. For example, in the case where the host computer 30 and the terminal device 20 transmit data to the IC card 10 without particularly defining the order of the components of the application program, information on all components is used as data indicating that the IC card 10 is being loaded. By transmitting it, it can be easily handled.
[0111]
In the present embodiment, when all of the divided application programs are received, the program loader 45 performs error code detection processing as to whether or not the entire application program has a normal configuration. It is not limited to this form.
For example, when a divided application program is received, a confirmation process such as an error code detection process may be performed for each divided application program.
[0112]
【The invention's effect】
As described above, according to the present invention, even when downloading of data such as an application program is interrupted, it can be downloaded again in a shorter time.
[Brief description of the drawings]
FIG. 1 is a schematic diagram for explaining an IC card application program loading apparatus according to an embodiment of the present invention.
FIG. 2 is a conceptual diagram showing an example of a memory system in the IC card of FIG.
3 is a schematic diagram showing an example of the configuration of an application program mounted on the IC card of FIG. 1. FIG.
4 is a diagram illustrating an example of a state of an application program transmitted from the host computer of FIG. 1 via a terminal device.
5 is a conceptual diagram showing a state of an application program stored in an EEPROM of the IC card in FIG. 1. FIG.
FIG. 6 is a flowchart showing an outline of an example of the operation of the IC card application program loading device according to the present embodiment;
7 is a flowchart showing an example of processing of a program loader in response to a load start command of the IC card 10 of FIG.
8 is a flowchart showing an example of a detailed application program download process of the terminal device and the host computer of FIG. 1;
[Explanation of symbols]
1 ... IC card application program loading device
4-1 Code part
4-2 Data section
10 ... IC card
11 ... CPU
12 ... Interface (I / F)
13 ... Cryptographic circuit
14 ... RAM
15 ... ROM
16… EEPROM
BS ... Bus
20 ... Terminal device
30: Host computer
41 ... OS kernel part
42 ... interpreter
43-1: First application program (AP)
43-2 ... Second application program (AP)
44 ... Processing module
45 ... Program loader (PL)
400-1 to n ... component

Claims (5)

ホストコンピュータと、当該ホストコンピュータと無線通信により情報を交換可能な端末装置と、当該端末装置に装着され、当該端末装置とデータ転送が可能であり当該端末装置を介して前記ホストコンピュータから受信したアプリケーションプログラムを実行するICカードとを有する、通信システムであって、
前記ホストコンピュータは、前記ICカードにおいて動作するアプリケーションプログラムを保持しており、
当該アプリケーションプログラムは、コード部とプログラム言語で記述されたデータが収容されるデータ部とで構成されており、
前記コード部には登録済アプリケーション提供識別子(RID)を含むアプリケーション識別子(AID)が記憶されており、
前記ホストコンピュータは、前記端末装置を介した前記ICカードからアプリケーションプログラムの送信要求に応答して、
前記ICカードへの送信対象のアプリケーションプログラム全体に誤り符号処理を行い、
前記誤り符号処理したアプリケーションプログラムを所望の大きさの複数のコンポーネントに分割し、
前記複数分割したコンポーネントを無線通信により前記端末装置に送信し、
前記端末装置は、前記ホストコンピュータから送信された前記コンポーネントを受信し、当該受信したコンポーネントを当該端末装置に装着されている前記ICカードに転送し、
前記ICカードは、
前記端末装置から転送された前記コンポーネントを受信する受信手段と、
アプリケーションプログラムを記憶する記憶部と、
信号処理手段と
を有し、
前記信号処理手段は、
前記記憶部に記憶された、前記登録済アプリケーション提供識別子(RID)を含むアプリケーション識別子(AID)を参照して、前記記憶部にアプリケーションプログラムの全てのコンポーネントが記憶されていない場合、未ロードのコンポーネントを送信する要求を前記端末装置を介して前記ホストコンピュータに要求し、
前記受信手段を介して入力された前記端末装置から転送された複数のコンポーネントを前記記憶部に記憶し、
前記転送された複数のコンポーネントを統合して、前記ホストコンピュータにおいて分割する前の元のアプリケーションプログラムに対応するアプリケーションプログラムを復号し
前記復号したアプリケーションプログラムに対して誤り符号検出処理を行い、
誤りが検出されない場合、前記受信処理を終了し、
誤りが検出された場合、
所定回数以内は前記ホストコンピュータに再度、そのコンポーネントの送信を要求し、
前記所定回数を越えた場合は、
前記ホストコンピュータからの前記送信を停止し、
前記記憶部に記憶したコンポーネントを前記記憶部から消去する、
通信システム。
A host computer, a terminal device capable of exchanging information with the host computer by wireless communication, and attached to the terminal device, capable of data transfer with the terminal device, and received from the host computer via the terminal device A communication system having an IC card for executing an application program ,
The host computer holds an application program that operates on the IC card,
The application program is composed of a code part and a data part in which data described in a program language is stored.
The code part stores an application identifier (AID) including a registered application provision identifier (RID),
In response to the application program transmission request from the IC card via the terminal device , the host computer,
Perform error code processing on the entire application program to be transmitted to the IC card ,
The error code processed application program is divided into a plurality of components of a desired size ,
Transmitting the component divided into the plurality to the terminal device by wireless communication;
The terminal apparatus receives the component transmitted from the host computer, to transfer the component to the received to the IC card installed in the terminal device,
The IC card is
Receiving means for receiving the components transferred from the terminal device,
A storage unit for storing application programs;
Signal processing means, and
The signal processing means includes
When all components of the application program are not stored in the storage unit with reference to the application identifier (AID) including the registered application provision identifier (RID) stored in the storage unit, an unloaded component Request to the host computer through the terminal device,
Storing a plurality of components transferred from the terminal device , which are input via the receiving unit, in the storage unit;
Integrating the transferred components and decoding an application program corresponding to the original application program before being divided in the host computer ;
An error code detection process is performed on the decoded application program ,
If no error is detected, it ends the reception process,
If an error is detected,
Within a predetermined number of times, the host computer is requested to send the component again,
When the predetermined number of times is exceeded,
Stop the transmission from the host computer,
Deleting the components stored in the storage unit from the storage unit ;
Communications system.
前記ICカードの前記信号処理手段は、
前記受信手段で受信した前記コンポーネントに含まれるアプリケーション識別子(AID)が前記記憶部に記憶されている場合、
アプリケーションプログラムが実行可能か否かをチェックし、
実行可能な場合、前記アプリケーション識別子(AID)にロード済のデータをセットし、
実行不可の場合、有効なコンポーネントを調査し、前記アプリケーション識別子(AID)にロード済のコンポーネントを示す状態を示すデータをセットし、
前記受信手段で受信した前記コンポーネントに含まれる前記アプリケーション識別子(AID)が前記記憶部に記憶されていない場合、
前記アプリケーション識別子(AID)に新規ロード可能のデータをセットし、
前記ホストコンピュータに、前記アプリケーション識別子(AID)を送信する、 請求項1に記載の通信システム。
The signal processing means of the IC card is
If the application identifier included in the component received by the receiving means (AID) is stored in the storage unit,
Check whether the application program can be executed,
If it can be executed, the loaded data is set in the application identifier (AID).
If it is not executable, the valid component is investigated, and data indicating the loaded component is set in the application identifier (AID)
If the application identifier included in the component received by the receiving means (AID) it is not stored in the storage unit,
A new loadable data is set in the application identifier (AID) ,
The communication system according to claim 1, wherein the application identifier (AID) is transmitted to the host computer.
前記ホストコンピュータは、前記送信対象のアプリケーションプログラム全体に暗号化処理を行い、当該暗号化処理後、誤り符号処理を行い、
前記ICカードの信号処理手段は、前記統合したアプリケーションプログラムに復号処理を行い、誤り符号処理を行う、
請求項1に記載の通信システム。
The host computer performs encryption processing on the entire application program to be transmitted , performs error code processing after the encryption processing ,
The signal processing means of the IC card performs a decoding process on the integrated application program, and performs an error code process.
The communication system according to claim 1.
前記端末装置に前記ICカードが装着されたとき、前記端末装置は装着されたICカードの認証処理を行い、認証処理が正当なICカードについて前記転送処理を行う、
請求項1〜3のいずれかに記載の通信システム。
When the IC card to the terminal device is mounted, the terminal device performs an authentication process of the IC card inserted, performs the transfer processing for the authentication process is valid IC card,
The communication system according to any one of claims 1 to 3.
ホストコンピュータと、当該ホストコンピュータと無線通信により情報を交換可能な端末装置と、当該端末装置に装着され、当該端末装置とデータ転送が可能であり当該端末装置を介して前記ホストコンピュータから受信したアプリケーションプログラムを実行するICカードとを有する、通信システムにおけるアプリケーションプログラムの送信方法であって、
当該アプリケーションプログラムは前記ホストコンピュータに保持されており、
当該アプリケーションプログラムはコード部とプログラム言語で記述されたデータが収容されるデータ部とで構成されており、前記コード部には登録済アプリケーション提供識別子を含むアプリケーション識別子が格納されており、
前記ホストコンピュータは、前記端末装置を介した前記ICカードからアプリケーションプログラムの送信要求に応答して、
前記ICカードへの送信対象のアプリケーションプログラム全体に誤り符号処理を行い、
前記誤り符号処理したアプリケーションプログラムを所望の大きさの複数のコンポーネントに分割し、
前記複数分割したコンポーネントを無線通信により前記端末装置に送信し、
前記端末装置は、前記ホストコンピュータから送信された前記コンポーネントを受信し、当該受信したコンポーネントを当該端末装置に装着されている前記ICカードに転送し、
前記ICカードは、
記憶部に記憶された、前記登録済アプリケーション提供識別子(RID)を含むアプリケーション識別子(AID)を参照して、前記記憶部にアプリケーションプログラムの全てのコンポーネントが記憶されていない場合、未ロードのコンポーネントを送信する要求を前記端末装置を介して前記ホストコンピュータに要求し、
前記ホストコンピュータから送信され、前記端末装置を経由して転送された前記コンポーネントを受信し、
前記受信したコンポーネントを前記記憶部に記憶し、
前記転送された複数のコンポーネントを統合して、前記ホストコンピュータにおいて分割する前の元のアプリケーションプログラムに対応するアプリケーションプログラムを復号し
前記復号したアプリケーションプログラムに対して誤り符号検出処理を行い、
誤りが検出されない場合、前記受信処理を終了し、
誤りが検出された場合、
所定回数以内は前記ホストコンピュータに再度、そのコンポーネントの送信を要求し、
前記所定回数を越えた場合は、
前記ホストコンピュータからの前記送信を停止し、
前記記憶部に記憶したコンポーネントを前記記憶部から消去する、
アプリケーションプログラムの送信方法。
A host computer, a terminal device capable of exchanging information with the host computer by wireless communication, and attached to the terminal device, capable of data transfer with the terminal device, and received from the host computer via the terminal device An application program transmission method in a communication system having an IC card that executes an application program,
The application program is held in the host computer,
The application program is composed of a code part and a data part in which data described in a program language is stored, and the code part stores an application identifier including a registered application providing identifier,
In response to the application program transmission request from the IC card via the terminal device , the host computer,
Perform error code processing on the entire application program to be transmitted to the IC card ,
The error code processed application program is divided into a plurality of components of a desired size ,
Transmitting the component divided into the plurality to the terminal device by wireless communication;
The terminal apparatus receives the component transmitted from the host computer, to transfer the component to the received to the IC card installed in the terminal device,
The IC card is
Referring to the application identifier (AID) including the registered application provision identifier (RID) stored in the storage unit, if not all components of the application program are stored in the storage unit, unloaded components are A request to send to the host computer via the terminal device;
The sent from the host computer, receives the component that is transferred via the terminal device,
Storing the received component in the storage unit ;
Integrating the transferred components and decoding an application program corresponding to the original application program before being divided in the host computer ;
An error code detection process is performed on the decoded application program ,
If no error is detected, it ends the reception process,
If an error is detected,
Within a predetermined number of times, the host computer is requested to send the component again,
When the predetermined number of times is exceeded,
Stop the transmission from the host computer,
Deleting the components stored in the storage unit from the storage unit ;
Application program transmission method.
JP2001300752A 2001-09-28 2001-09-28 Communication system and application program transmission method Expired - Fee Related JP4951836B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001300752A JP4951836B2 (en) 2001-09-28 2001-09-28 Communication system and application program transmission method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001300752A JP4951836B2 (en) 2001-09-28 2001-09-28 Communication system and application program transmission method

Publications (2)

Publication Number Publication Date
JP2003108384A JP2003108384A (en) 2003-04-11
JP4951836B2 true JP4951836B2 (en) 2012-06-13

Family

ID=19121282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001300752A Expired - Fee Related JP4951836B2 (en) 2001-09-28 2001-09-28 Communication system and application program transmission method

Country Status (1)

Country Link
JP (1) JP4951836B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10328238B4 (en) * 2003-06-24 2013-03-14 Giesecke & Devrient Gmbh Method for loading smart cards with initialization and / or personalization data
JP2005100362A (en) * 2003-08-29 2005-04-14 Canon Inc Program-rewritable electronic apparatus and program rewriting method
KR101089383B1 (en) * 2004-04-06 2011-12-02 주식회사 비즈모델라인 Card Terminal for Loading Applicationor Data
WO2006075576A1 (en) * 2005-01-11 2006-07-20 Matsushita Electric Industrial Co., Ltd. Secure device and system for issuing ic cards
KR101088767B1 (en) * 2009-04-06 2011-12-02 주식회사 비즈모델라인 Method for Processing Application(or Data)
JP2011003020A (en) * 2009-06-18 2011-01-06 Toyota Infotechnology Center Co Ltd Computer system and program starting method
JP5740646B2 (en) * 2010-01-12 2015-06-24 日本電産サンキョー株式会社 How to download software
JP2013246672A (en) * 2012-05-28 2013-12-09 Toppan Printing Co Ltd Portable recording medium and terminal

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01255990A (en) * 1988-04-06 1989-10-12 Hitachi Maxell Ltd Ic card data transmitting system
JP3923546B2 (en) * 1995-01-11 2007-06-06 大日本印刷株式会社 IC card
JPH11213111A (en) * 1998-01-26 1999-08-06 Ntt Data Corp Data carrier and communication terminal
JP3768020B2 (en) * 1998-12-28 2006-04-19 株式会社エヌ・ティ・ティ・ドコモ Communication device
JP3514173B2 (en) * 1999-07-05 2004-03-31 日本電気株式会社 Control device
JP2001216218A (en) * 2000-02-01 2001-08-10 Canon Inc Printing controller, printing system, adapter, printing control method and storage medium
JP3785299B2 (en) * 2000-03-16 2006-06-14 本田技研工業株式会社 Memory rewriting system for vehicle control device

Also Published As

Publication number Publication date
JP2003108384A (en) 2003-04-11

Similar Documents

Publication Publication Date Title
US7650503B2 (en) Memory card
JP5521803B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION SYSTEM
TWI524275B (en) Storage device and method of operating a storage device
US6988267B2 (en) Method and device for implementing a downloadable software delivery system
US7428992B2 (en) Secure device and system for issuing IC cards
JP4308551B2 (en) Memory card and host device
JP3865629B2 (en) Storage device
CN108156155B (en) Wireless network-based biometric authentication system, mobile device and method
JP2001527675A (en) IC card delivery key set
US11387983B2 (en) Secure medical apparatus communication
US8886121B2 (en) Communication device, commnunication method, and program
WO2002057904A1 (en) Controller having download function
FR3002671A1 (en) METHOD FOR UPDATING THE SYSTEM FOR OPERATING A SECURE MICROCIRCUIT
JP4951836B2 (en) Communication system and application program transmission method
KR20120128158A (en) Licence issuing system, client terminal, server, and licence issuing method
JP5391743B2 (en) Payment processing security information distribution method, payment processing security information distribution system, center device thereof, server device, payment terminal, and program
JP4236830B2 (en) Storage device with upload function
JP4509291B2 (en) IC card, IC card program update device, and method thereof
JP2004070593A (en) Authentication system, authentication method, and device
JP2006119902A (en) Portable electronic apparatus and operating system for portable electronic apparatus
JP5692441B2 (en) Information processing apparatus, information processing method, and program
JP2014059806A (en) Ic card, portable electronic device, and ic card processor
JP4309068B2 (en) Card data processing device
JP2023164669A (en) Information processing device, server device, communication system, communication method, and program
JP3866024B2 (en) Computer peripheral communication device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120214

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120227

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees