JP5017868B2 - Icカードのプログラム修正システム、プログラム、及びicカード - Google Patents

Icカードのプログラム修正システム、プログラム、及びicカード Download PDF

Info

Publication number
JP5017868B2
JP5017868B2 JP2006023923A JP2006023923A JP5017868B2 JP 5017868 B2 JP5017868 B2 JP 5017868B2 JP 2006023923 A JP2006023923 A JP 2006023923A JP 2006023923 A JP2006023923 A JP 2006023923A JP 5017868 B2 JP5017868 B2 JP 5017868B2
Authority
JP
Japan
Prior art keywords
program
card
correction
storage means
server
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.)
Active
Application number
JP2006023923A
Other languages
English (en)
Other versions
JP2007206902A (ja
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 JP2006023923A priority Critical patent/JP5017868B2/ja
Publication of JP2007206902A publication Critical patent/JP2007206902A/ja
Application granted granted Critical
Publication of JP5017868B2 publication Critical patent/JP5017868B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ICカードのプログラム修正システム、プログラムとICカードに関するものである。
一般にICカードで稼動するファームウエア・プログラムやアプリケーション・プログラムは、プラグイン型のICカードに組み込まれた状態で出荷されている。通常、ICカードのファームウエア・プログラムは、マスクROM(Read Only Memory)に書き込まれ、アプリケーション・プログラムは、不揮発性メモリ、或いはマスクROMに書き込まれる。
従来、マスクROMは4kバイト〜16kバイト程度の小容量であり、マスクROMに書き込まれるプログラムのサイズは、数kバイトから10kバイト程度であった。しかし、マスクROMの大容量化に伴い、最近ではプログラム・サイズが数百kバイトになる場合もある。プログラムのサイズが大きくなることに伴い、プログラムに不具合が生ずるリスクも高くなってきた。
プログラムの不具合に伴うプログラムのバージョンアップを行う場合、ICカードの工場出荷前であれば可能であったが、ICカードが工場から出荷された後については、書き換えは不可能であった。
これに対し、不揮発性メモリに書き込まれたアプリケーション・プログラムに関しては、センタのサーバよりダウンロードして新機能の追加を図る方法が提供されている(例えば「特許文献1」参照。)。
特開2002−258966号公報
しかしながら、ファームウエア・プログラムについては、マスクROM上に書かれているため、ダウンロードしても書き換えができない。また、不揮発性メモリは、前述のマスクROMと同様、従来は4kバイト〜16kバイト程度であったため、ファームウエア・プログラムの修正を不揮発性メモリにダウンロードすることは困難であった。従って、例えば、ファームウエア・プログラム上に不具合があった場合には、ICカードの交換という手段を取らざるを得なかった。
本発明は、前述した問題点に鑑みてなされたもので、その目的とすることは効率的でかつ安全にファームウエア・プログラムの修正を行うためのプログラム修正システム、プログラム、ICカードを提供することにある。
前述した目的を達成するために第1の発明は、複数のモジュールからなる基礎制御プログラムが搭載されたICカードと、サーバとが、ネットワーク及び携帯端末で接続されたシステムであって、前記サーバは、前記ICカードに前記モジュールを修正する修正プログラムと前記修正プログラムのサイズを送信する手段を有し、前記ICカードは、前記修正プログラムを記憶する第1の記憶手段と、前記修正プログラムに対応して、各モジュールが修正されたか否かを示すフラグおよび前記第1の記憶手段における前記修正プログラムのプログラム開始アドレスを記憶する第2の記憶手段と、前記第1の記憶手段のどこまで書き込みが行われたかを示すアドレス情報を記憶する第3の記憶手段と、前記サーバから受信した前記修正プログラムを前記第1の記憶手段に書き込み、前記第2の記憶手段に前記修正プログラムのプログラム開始アドレスを書き込み、前記修正プログラムのサイズを参照して前記第3の記憶手段の前記アドレス情報を変更する手段と、を有することを特徴とするプログラム修正システムである。
前記ICカードは、稼動時に第2の記憶手段を検索し、モジュールが修正されている場合は、前記第1の記憶手段から当該モジュールの修正プログラムを読み出し、モジュールが修正されていない場合は、当該モジュールの前記基礎制御プログラムを読み出して実行する手段を更に有する。
前記第2の記憶手段は、第1の記憶手段における修正プログラムのアドレスを記憶する。
前記基礎制御プログラムは、ROMに記憶され、前記修正プログラムは書き込み可能な不揮発性メモリに記憶される。
前記ICカードは、前記サーバから送られる修正プログラムが正常に前記第1の記憶手段に記憶された場合、前記サーバに通知する通知手段を更に有する。
前記サーバは、修正プログラムに修正者の署名情報を付加して前記ICカードに送る。
第2の発明は、サーバとネットワーク及び携帯端末を介して接続され、複数のモジュールからなる基礎制御プログラムが搭載されたICカードであって、前記サーバから送られた、モジュールを修正する修正プログラム記憶する第1の記憶手段と、前記修正プログラムに対応して、各モジュールが修正されたか否かを示すフラグおよび前記第1の記憶手段における前記修正プログラムのプログラム開始アドレスを記憶する第2の記憶手段と、前記第1の記憶手段のどこまで書き込みが行われたかを示すアドレス情報を記憶する第3の記憶手段と、前記サーバから送られた前記修正プログラムを前記第1の記憶手段に書き込み、前記第2の記憶手段に前記修正プログラムのプログラム開始アドレスを書き込み、前記サーバから送られた、前記修正プログラムのサイズを参照して前記第3の記憶手段の前記アドレス情報を変更する手段と、を有することを特徴とするICカードである。
ICカードは、稼動時に、第2の記憶手段を検索し、モジュールが修正されている場合は、前記第1の記憶手段から当該モジュールの修正プログラムを読み出し、モジュールが修正されていない場合は、当該モジュールの前記基礎制御プログラムを読み出して実行する手段を有する。
ICカードは、前記サーバから送られる修正プログラムが正常に前記第1の記憶手段に記憶された場合、前記サーバに通知する通知手段を更に有する。
第3の発明は、コンピュータを、第2の発明のICカードとして機能させるプログラムである。
本発明によれば、効率的でかつ安全にファームウエア・プログラムのバージョンアップを行えるプログラム修正システム、プログラム、ICカードを提供することができる。
以下添付図面に基づいて、本発明の実施形態に係るプログラム修正システム100について詳細に説明する。
最初に、図1を参照しながら、本実施の形態に係るプログラム修正システム100の構成について説明する。図1は、本実施の形態に係るプログラム修正システム100の構成を示すブロック図である。
図1は、プログラム修正システム100の1例であり、図1に示すように、プログラム修正システム100は、修正プログラムサーバ101と、複数の携帯端末105等がネットワーク103を介して接続されて構成される。
ネットワーク103は、インターネット、ローカルエリアネットワーク(LAN)等のネットワークであり、有線、無線を問わない。
修正プログラムサーバ101は、サーバコンピュータ等であり、ICカード220で稼動するファームウエア・プログラムの修正(バージョン・アップ)情報を配信、管理するサーバである。
携帯端末105は、携帯電話(特に第3世代3GPP)、アナログTVやデジタルTVの受信機器であるセットトップボックス(STB)、車載案内装置やGPS等の位置信号受発信機器である車載端末等である。
携帯端末105には、プラグイン型のICカード220等が搭載される。
次に、図2を参照しながら、携帯端末105のハードウェア構成を説明する。図2は、携帯端末105のハードウェア構成図である。以下、代表して携帯端末105(携帯電話)について説明する。本発明に関連した構成要素のみを図示しており、送受話部等の図示は省略してある。
携帯端末105は、制御部201、記憶部202、表示部203、カメラ204、送受信部205、入力部206、マイク207、記録媒体I/F部208、暗号化・復号回路209、アンテナ210等が、接続されて構成される。
制御部201は、CPU(Central Processing Unit )、ROM(Read Only Memory )、RAM(Random Access Memory)等で構成される。
CPUは、記憶部202、ROM等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、システムバスを介して接続された各装置を駆動制御し、携帯端末105が行う各種処理を実現する。
ROMは、不揮発性メモリであり、コンピュータのブートプログラムやBIOS等のプログラム、データ等を恒久的に保持している。
RAMは、揮発性メモリであり、記憶部202、ROM等からロードしたプログラム、データ等を一時的に保持するとともに、制御部201が各種処理を行う為に使用するワークエリアを備える。
記憶部202は、制御部201が実行するプログラム、プログラム実行に必要なデータ、OS(オペレーティングシステム)等が格納される。
これらの各プログラムコードは、制御部201により必要に応じて読み出されてRAMに移され、CPUに読み出されて各種の手段として実行される。
表示部203は、CRTモニタ、液晶パネル等のディスプレイ装置である。カメラ204は、画像データ、映像データ等を取得する。
送受信部205は、携帯端末105とネットワーク103間の通信を媒介する通信インタフェースであり、ネットワーク103を介して、修正プログラムサーバ101と、携帯端末105間の通信制御を行う。
入力部206は、データの入力を行い、例えば、キーボード、テンキー等の入力装置である。マイク207は、音声データを取得する。
記録媒体I/F部208は、記録媒体へのデータの授受を行う。記録媒体は、ICカード220等である。
暗号化・復号回路209は、暗号化したデータに対する復号、及びデータの暗号化を行う。
図3は、ICカード220の構造の一態様を示す図である。
図3に示すように、ICカード220は、接触型ICカードであり、ICモジュール端子とリーダ/ライタの端子が接触することで電力供給や通信を行う。
ICカード220は、CPU221、ROM222、RAM224、EEPROM225(Electrically Erasable Programmable ROM)等を有する。
ROM222は、プログラム領域223を有し、アプリケーションの追加・削除が可能なプラットフォーム型OS、即ち基礎制御プログラムとしてのファームウエア・プログラムを格納する。
EEPROM225は、ユーザ領域228を有し、プラットフォーム型OSに対応したアプリケーションを複数搭載可能とする。例えば、アプリケーションとして、契約端末の認証を行う認証アプリケーション・プログラム、正当使用者/端末を特定するための認証情報(例えば、契約者識別情報等)を搭載、格納する。
また、修正プログラムをダウンロードし、書き出すためのエリアとして、修正プログラム領域227を有する。また、ROM222のファームウエア・プログラムを修正プログラムに置き換えて実行する際に参照するパッチテーブル226を有する。また、EEPROM225には、修正プログラム領域227の現アドレス、即ちどこまで書込みが行われたかの情報等も保持する。
尚、ICカード220の構造は、この構成に限られるものではない。
次に、図4を参照しながら、修正プログラムサーバ101のハードウェア構成を説明する。図4は、修正プログラムサーバ101のハードウェア構成図である。修正プログラムサーバ101は制御部401、表示部402、記憶部403、入力部404、通信部405等がシステムバス407を介して互いに接続されて構成される。
制御部401は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を有する。
CPUは、記憶装置,ROM等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、演算処理、動作制御を行い、システム全体を制御する。ROMは、不揮発性メモリであり、プログラム、データ等を恒久的に保持し、RAMは、揮発性メモリであり、プログラム、データ等を一時的に保持する。
表示部402は、CRTモニタ、液晶パネル等のディスプレイ装置、ディスプレイ装置と連携してコンピュータのビデオ機能を実現するための論理回路等(ビデオアダプタ等)の表示装置等を有する。
記憶部403は、データを記憶する装置であり、磁気ディスク、フロッピディスク、メモリ、光ディスク装置等を有する。記憶部403には、制御部401が実行するプログラム、プログラム実行に必要なデータ、OS(Operating System)等が格納される。
入力部404は、データの入力を行い、例えば、キーボード、マウス等のポインティングデバイス、テンキー等の入力装置を有する。
入力部404を介して、修正プログラムサーバ101に対して、操作指示、動作指示、データ入力、維持管理等を行うことができる。
通信部405は、修正プログラムサーバ101とネットワーク103間の通信を媒介する通信インタフェースであり、通信制御装置、通信ポート等を有する。
システムバス407は、各装置間の制御信号、データ信号等の授受を媒介する経路である。
次に、図5を参照しながら、モード遷移コマンド505について説明を行う。図5はモード遷移コマンド505の一態様を示す図である。
モード遷移コマンド505は、修正プログラムサーバ101の記憶部403に保存され、修正プログラムサーバ101からICカード220に配信される。モード遷移コマンド505は、ICカード220を通常モードからバージョンアップ受付モードに変更する。
モード遷移コマンド505は、ヘッダ506、命令507等で構成される。
ヘッダ506はモード遷移コマンド505のデータの属性を示す各種情報を含む。命令507は、モード遷移コマンド505のコード、即ちICカード220のモードを変更するための命令である。ヘッダ506或いはモード遷移コマンド505のデータ部(図示せず。)には、認証情報(図示せず。)を含む。認証情報は、修正プログラムサーバ101を識別するために用いられる。認証情報は、具体的には、暗号鍵、及び暗号化の関数を特定する情報である。即ち、ICカード220は、この認証情報を読み込んで、送信される修正プログラムの送信元が適正なサーバであるかを識別する。
次に、図6を参照しながら、バージョンアップ書込コマンド510について説明を行う。図6はバージョンアップ書込コマンド510の一態様を示す図である。バージョンアップ書込コマンド510は、修正プログラムサーバ101の記憶部403に保存され、ICカード220に配信される。バージョンアップ書込コマンド510は、ヘッダ511、命令512、データ部514等で構成される。
バージョンアップ書込コマンド510のデータ部514は、暗号化されて送信される。予め、バージョンアップ書込コマンド510のデータ部514の復号に必要な暗号鍵はICカード220中に保持される。
ヘッダ511は、バージョンアップ書込コマンド510の属性を示し、ヘッダ511には、暗号鍵の情報等が含まれる。
命令512は、バージョンアップ書込コマンド510のデータ部514を書き込むためのコマンドである。命令512は、ICカード220に送信されたバージョンアップ書込コマンド510のデータ部514をEEPROM225に反映する。
データ部514は命令512によってEEPROM225に書き込まれるデータ等である。データ部514は、署名515、プログラムヘッダ516、修正プログラム517から構成される。
プログラムヘッダ516は修正プログラム517の属性情報を有する。例えば、バージョン情報、修正日時、修正プログラム517のサイズ等である。プログラムヘッダ516は、パッチテーブル226の更新時に参照されたり、ICカード220におけるOS等の管理に使用されたりする。
署名515は修正プログラムサーバ101において付加される情報である。署名515は、修正プログラムサーバ101の所有者とプログラム修正者が異なる場合には、プログラム修正者固有の署名としてもよい。修正プログラム517に署名515を付加して、ICカード220と修正プログラムサーバ101の通信を暗号化することによって、修正プログラム517に対する不正なアクセスを制限する。
修正プログラム517は、ROM222のプログラム領域223に保持されたプログラム(OS等)に対して修正されるモジュールのコードである。
次に、図7を参照しながら、モジュールバージョンアップ有効化コマンド520について説明を行う。モジュールバージョンアップ有効化コマンド520は、修正プログラムサーバ101の記憶部403に保存され、ICカード220に対して配信される。
モジュールバージョンアップ有効化コマンド520は、EEPROM225のに書き込まれた修正プログラム517を有効にするためのコマンドである。モジュールバージョンアップ有効化コマンド520は、ヘッダ521及び命令522等から構成される。
ヘッダ521は、モジュールバージョンアップ有効化コマンド520の属性を示す。命令522は、EEPROM225のパッチテーブル226を更新し、バージョンアップ書込コマンド510によって書き込まれた修正プログラム517を有効にする。
モジュールバージョンアップ有効化コマンド520のデータ部(図示せず。)には、パッチテーブル226を更新するための各種情報、例えば、プログラムのバージョン情報等を含むこともできる。
次に、図8を参照しながら、パッチテーブル226の保持するデータについて説明を行う。図8はパッチテーブル226の一態様を示す図である。パッチテーブル226には、ROM222のプログラム領域223に保持されたすべてのモジュールの情報を含む。
モジュールID311は、プログラム領域223中のモジュール化されたプログラムを識別するIDである。即ち、プログラム領域223中のプログラムは、それぞれモジュール化され、モジュールID311にはそのIDが書き込まれる。
変更フラグ313は、モジュールID311で示されるそれぞれのモジュール化されたプログラムに変更があったか否かを示すフラグである。
変更フラグ313は、最初は全て「無」に設定されており、各モジュールの修正プログラムが、修正プログラムサーバ101からICカード220に送られ、変更があった場合には、変更フラグ313が「有」となる。
プログラム開始アドレス315は、EEPROM225の修正プログラム領域227における修正プログラムのアドレスを示す。プログラムに変更があった場合、即ち変更フラグ313が「有」の場合、プログラム開始アドレス315が書き込まれる。
次に、図9及び図10を参照しながら、プログラムの修正におけるICカード220及び修正プログラムサーバ101の動作について説明を行う。
図9は、修正プログラムサーバ101からICカード220にコマンド及びデータ等を送信する際の動作を示すフローチャートである。
まず、修正プログラムサーバ101の制御部401は、ICカード220にモード遷移コマンド505を送信する(ステップ701)。ICカード220のCPU221は、モード遷移コマンド505の受信を確認すると、暗号認証を行う(ステップ702)。モード遷移コマンド505に含まれる暗号鍵とICカード220中にあらかじめ保持された暗号鍵を用いて認証を行う。
暗号認証に失敗した場合(ステップ703のNo)、即ち暗号鍵が一致しない場合、CPU221は暗号認証失敗の情報を修正プログラムサーバ101に送信する(ステップ708)。修正プログラムサーバ101の制御部401は、ICカード220より暗号認証失敗のメッセージを受け取ると、ICカード220のエラー情報を記憶部403に書き込む(ステップ709)。
暗号認証に成功した場合(ステップ703のYes)、CPU221は一致した暗号鍵を用いて復号の処理を行い、修正プログラムサーバ101に暗号認証成功の情報を送信する(ステップ704)。次に、CPU221は、モード遷移コマンド505の命令507を実行し、ICカード220を通常モードからバージョンアップ受付モードに変更する(ステップ707)。
修正プログラム・サーバ101の制御部401は、暗号認証成功の情報を受信すると(ステップ705)、バージョンアップ処理を実行する(ステップ706)。
図10はバージョンアップ(図7のステップ706)におけるICカード220及び修正プログラムサーバ101の動作を示すフローチャートである。まず、修正プログラムサーバ101の制御部401は、バージョンアップ書込コマンド510のデータ部514を暗号化する(ステップ801)。次に、制御部401はバージョンアップ書込コマンド510をICカード220に送信する(ステップ802)。
ICカード220のCPU221は、バージョンアップ書込コマンド510の署名を検証し、バージョンアップ書込コマンド510のデータ部514の復号を行う(ステップ803)。
次にCPU221は、バージョンアップ書込みコマンド510の命令512を実行し、EEPROM225の修正プログラム領域227にデータ部514を書き込む(ステップ804)。
署名検証に失敗した場合、或いは命令512の実行、即ちデータ部514の書き込みが正常に終了しなかった場合(ステップ805のNo)、CPU221はエラー情報を修正プログラムサーバ101に送信する(ステップ806)。修正プログラムサーバ101の制御部401は、ICカード220のエラー情報を受信すると、記憶部403に書き込んで(ステップ808)、終了する。
CPU221が命令512の実行に成功すると(ステップ805のYes)、CPU221は終了のステータスを修正プログラムサーバ101に送信する(ステップ808)。
修正プログラムサーバ101の制御部401はICカード220より終了ステータスを受信すると、モジュールバージョンアップ有効化コマンド520をICカード220に送信する(ステップ808)。
ICカード220のCPU221は、モジュールバージョンアップ有効化コマンド520を修正プログラムサーバ101から受信すると、命令517を実行しパッチテーブル226を更新する(ステップ810)。該当モジュールのモジュールID311に対応する変更フラグ313を「有」とし、ICカード220のEEPROM225中の別エリアに保持された修正プログラム開始アドレスを参照して、プログラム開始アドレス315に書き込む。プログラム開始アドレス315に書込み後、前述のEEPROM225の別エリアに保持された情報は更新される。即ち、プログラムヘッダ516に含まれる修正プログラムのサイズを参照し、修正プログラム領域227の現アドレスを変更する。
次に、CPU221は、修正が正常に完了したことを修正プログラムサーバ101へ送信する(ステップ811)。修正プログラムサーバ101の制御部401は、ICカード220より処理完了のステータスを受信し、終了情報を記憶部403に書き込む(ステップ812)。
尚、ステップ808でバージョンアップ有効化コマンド520を送信する際に、ICカード220の再起動が必要か否かの情報をバージョンアップ有効化コマンド520のデータ部(図示せず。)に付加してもよい。この場合、ICカード220の再起動が必要な場合には、ICカード220は携帯端末105に対して再起動のための情報を送り、携帯端末105はICカード220の再起動処理を行う。
また、ICカード220の再起動は、バージョンアップ有効化コマンド520に付加する以外に、予めパッチテーブル226にモジュール毎の属性として、修正時に再起動が必要か否かの情報を含めておくこともできる。この場合には、CPU221は、モジュールバージョンアップ有効化コマンド520の命令522の実行時に、パッチテーブル226を参照することによってICカード220の再起動が必要か否かの情報を得る。ICカード220の再起動が必要な場合には、前述と同様、ICカード220から携帯端末105に対して再起動に必要な情報が送られ、携帯電話105がICカード220を再起動する。
以上のように、ファームウエア・プログラムに対する修正においては、修正プログラムサーバ101が、ICカード220に対して暗号化した修正プログラムを送信する。受信したICカード220では、バージョンアップ書込コマンド510は不揮発性メモリであるEEPROM225に書き込まれる。ICカード220では署名検証を行った後、修正プログラムの情報を有効化する。
図9、図10で説明したように、モード遷移コマンド505、バージョンアップ書込コマンド510及びモジュールバージョンアップ有効化コマンド513は、修正プログラムサーバ101がそれぞれの実行結果のステータスを受信してから順次送信されるが、一括で送信することも可能である。
次に、図11を参照しながら、OS実行時のICカード220の動作について説明を行う。図11はICカード220の動作を示すフローチャートである。
まず、ICカード220のCPU221は、主プログラムからプログラムコール時に、EEPROM225のパッチテーブル226上の、実行しようとするプログラムのモジュールID311を検索する(ステップ901)。
次に、該当プログラムのモジュールID311に対応する変更フラグ313の検査を行う(ステップ902)。変更フラグ313が「無」の場合(ステップ902の「無」)、CPU221はROM222のプログラム領域223中の初期設定時のプログラムを実行し(ステップ906)、主プログラムに制御を戻す(ステップ905)。
変更フラグ313が「有」の場合(ステップ902の「有」)、CPU221は、パッチテーブル226のプログラム開始アドレス315を読み込む(ステップ903)。
次に、CPU221は、プログラム開始アドレス315に基づいて、EEPROM225の修正プログラム領域227の、該当する修正プログラムを検索し、実行した後(ステップ904)、主プログラムに制御を戻す(ステップ905)。
以上のように、ICカード220にダウンロードされたバージョンアップ書込コマンド510は、元のプログラムに置き換わって実行される。実行時には、パッチテーブル226が参照される。
このように、プログラム修正システム100によれば、ICカード220の交換等を行うことなく、OS等のプログラムのバージョンアップが可能となる。不揮発性メモリの大容量化に伴い、修正プログラムをダウンロードすることができるようになった。
従来、回収や再配布によって、プログラムの修正に伴うコストや手間がかかっていたが、プログラム修正システム100によってこのようなコストや手間が大幅に削減される。また、出荷時にあらかじめICカード220に暗号鍵を設定しておくことによって、悪意のファームウエア・プログラムのバージョンアップを防ぐことができる。
プログラムの修正については、モジュール単位で行われるが、モジュールの一部のみを送受信することもできる。
また、修正プログラムサーバ101は、ICカード220の修正対象のプログラムバージョン及び種類を含む情報を送り、ICカード220がバージョンを比較して一致しない場合には修正を拒否することもできる。修正対象のプログラムバージョン及び種類を含む情報は、バージョンアップ書込みコマンド510等に含むことができる。また、ICカード220内のバージョン管理情報は、例えばパッチテーブル226に含めることができる。
以上、添付図面を参照しながら、本発明に係るプログラム修正システム、ICカード等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
プログラム修正システム100の構成を示すブロック図 携帯端末105のハードウェア構成図 ICカード220の構造の一態様を示す図 修正プログラムサーバ101のハードウェア構成図 モード遷移コマンド505の一態様を示す図 バージョンアップ書込コマンド510の一態様を示す図 モジュールバージョンアップ有効化コマンド520の一態様を示す図 パッチテーブル226の一態様を示す図 プログラム修正処理の動作を示すフローチャート バージョンアップ処理の動作を示すフローチャート 制御プログラム実行時の動作を示すフローチャート
符号の説明
100………プログラム修正システム
101………修正プログラムサーバ
103………ネットワーク
105………携帯端末
220………ICカード
221………CPU
222………ROM
224………RAM
225………EEPROM
226………パッチテーブル
227………修正プログラム領域

Claims (9)

  1. 複数のモジュールからなる基礎制御プログラムが搭載されたICカードと、サーバとが、ネットワーク及び携帯端末で接続されたシステムであって、
    前記サーバは、
    前記ICカードに前記モジュールを修正する修正プログラムと前記修正プログラムのサイズを送信する手段を有し、
    前記ICカードは、
    前記修正プログラムを記憶する第1の記憶手段と、
    前記修正プログラムに対応して、各モジュールが修正されたか否かを示すフラグおよび前記第1の記憶手段における前記修正プログラムのプログラム開始アドレスを記憶する第2の記憶手段と、
    前記第1の記憶手段のどこまで書き込みが行われたかを示すアドレス情報を記憶する第3の記憶手段と、
    前記サーバから受信した前記修正プログラムを前記第1の記憶手段に書き込み、前記第2の記憶手段に前記修正プログラムのプログラム開始アドレスを書き込み、前記修正プログラムのサイズを参照して前記第3の記憶手段の前記アドレス情報を変更する手段と、
    を有することを特徴とするプログラム修正システム。
  2. 前記ICカードは、
    稼動時に第2の記憶手段を検索し、モジュールが修正されている場合は、前記第1の記憶手段から当該モジュールの修正プログラムを読み出し、モジュールが修正されていない場合は、当該モジュールの前記基礎制御プログラムを読み出して実行する手段を更に有することを特徴とする請求項1記載のプログラム修正システム。
  3. 前記基礎制御プログラムは、ROMに記憶され、前記修正プログラムは書き込み可能な不揮発性メモリに記憶されることを特徴とする請求項1記載のプログラム修正システム。
  4. 前記ICカードは、前記サーバから送られる修正プログラムが正常に前記第1の記憶手段に記憶された場合、前記サーバに通知する通知手段を更に有することを特徴とする請求項1記載のプログラム修正システム。
  5. 前記サーバは、修正プログラムに修正者の署名情報を付加して前記ICカードに送ることを特徴とする請求項1記載のプログラム修正システム。
  6. サーバとネットワーク及び携帯端末を介して接続され、複数のモジュールからなる基礎制御プログラムが搭載されたICカードであって、
    前記サーバから送られた、モジュールを修正する修正プログラム記憶する第1の記憶手段と、
    前記修正プログラムに対応して、各モジュールが修正されたか否かを示すフラグおよび前記第1の記憶手段における前記修正プログラムのプログラム開始アドレスを記憶する第2の記憶手段と、
    前記第1の記憶手段のどこまで書き込みが行われたかを示すアドレス情報を記憶する第3の記憶手段と、
    前記サーバから送られた前記修正プログラムを前記第1の記憶手段に書き込み、前記第2の記憶手段に前記修正プログラムのプログラム開始アドレスを書き込み、前記サーバから送られた、前記修正プログラムのサイズを参照して前記第3の記憶手段の前記アドレス情報を変更する手段と、
    を有することを特徴とするICカード。
  7. 稼動時に、第2の記憶手段を検索し、モジュールが修正されている場合は、前記第1の記憶手段から当該モジュールの修正プログラムを読み出し、モジュールが修正されていない場合は、当該モジュールの前記基礎制御プログラムを読み出して実行する手段を有することを特徴とする請求項記載のICカード。
  8. 前記サーバから送られる修正プログラムが正常に前記第1の記憶手段に記憶された場合、前記サーバに通知する通知手段を更に有することを特徴とする請求項記載のICカード。
  9. コンピュータを、請求項から請求項のいずれかに記載のICカードとして機能させるプログラム。
JP2006023923A 2006-01-31 2006-01-31 Icカードのプログラム修正システム、プログラム、及びicカード Active JP5017868B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006023923A JP5017868B2 (ja) 2006-01-31 2006-01-31 Icカードのプログラム修正システム、プログラム、及びicカード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006023923A JP5017868B2 (ja) 2006-01-31 2006-01-31 Icカードのプログラム修正システム、プログラム、及びicカード

Publications (2)

Publication Number Publication Date
JP2007206902A JP2007206902A (ja) 2007-08-16
JP5017868B2 true JP5017868B2 (ja) 2012-09-05

Family

ID=38486332

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006023923A Active JP5017868B2 (ja) 2006-01-31 2006-01-31 Icカードのプログラム修正システム、プログラム、及びicカード

Country Status (1)

Country Link
JP (1) JP5017868B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2738680A1 (en) * 2007-09-04 2014-06-04 Nintendo Co., Ltd. Writing area security system
US9576156B2 (en) * 2007-09-04 2017-02-21 Nintendo Co., Ltd. Download security system
JP2010113549A (ja) * 2008-11-06 2010-05-20 Dainippon Printing Co Ltd Icカードおよびパッチコードの実行方法
JP5558394B2 (ja) 2011-03-18 2014-07-23 株式会社東芝 通信媒体、icカード、コマンド実行方法
JP5502181B2 (ja) * 2012-12-03 2014-05-28 任天堂株式会社 ダウンロードセキュリティシステム
JP7287079B2 (ja) * 2019-04-11 2023-06-06 大日本印刷株式会社 変換プログラム、変換装置及び変換方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3012285B2 (ja) * 1990-06-11 2000-02-21 日立マクセル株式会社 Cpu内蔵型icカード
JP2000082122A (ja) * 1998-09-07 2000-03-21 Hitachi Ltd メモリカード
JP2001118042A (ja) * 1999-10-19 2001-04-27 Hitachi Ltd カード監視方法
JP2002304602A (ja) * 2001-04-06 2002-10-18 Dainippon Printing Co Ltd カード情報更新システム
JP2003132315A (ja) * 2001-10-26 2003-05-09 Nippon Telegr & Teleph Corp <Ntt> Icカードプログラム追加変更方法及びプログラム追加変更可能icカード
JP2004185348A (ja) * 2002-12-04 2004-07-02 Hitachi Ltd プログラム修正方法およびその実施icカード

Also Published As

Publication number Publication date
JP2007206902A (ja) 2007-08-16

Similar Documents

Publication Publication Date Title
US9864599B2 (en) Firmware update method in two-chip solution for secure terminal
JP5385148B2 (ja) セキュアブート端末、セキュアブート方法、セキュアブートプログラム、記録媒体及び集積回路
US9626513B1 (en) Trusted modular firmware update using digital certificate
JP5017868B2 (ja) Icカードのプログラム修正システム、プログラム、及びicカード
CN102667716A (zh) 使用固件更新应用程序更新部件的固件的方法及装置
US9959125B2 (en) Field update of boot loader using regular device firmware update procedure
CN102105883A (zh) 电子装置以及电子装置的软件或固件更新的方法
KR20030071750A (ko) 정보의 업데이트 및 분산 시스템 및 방법
US20170109546A1 (en) Securing of the loading of data into a nonvolatile memory of a secure element
JP2008250604A (ja) Webサービス識別情報利用システム、およびそれに用いる装置、方法、並びにプログラム
JP5391743B2 (ja) 決済処理セキュリティ情報配信方法、決済処理セキュリティ情報配信システム、そのセンタ装置、サーバ装置、決済端末、及びプログラム
JP4707978B2 (ja) コンテンツ配信サーバ、通信端末、コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信プログラム、端末制御プログラムおよび該プログラムを記録した記録媒体
CN115102855B (zh) 智能水表嵌入式软件在线升级方法及系统
US10318933B2 (en) Settlement terminal and method of protecting data stored in the settlement terminal against tampering
CN111046389A (zh) 固件组件安全更新的方法以及用以实施的携行计算机站
JP5419123B2 (ja) 電子機器システム及びファームウェアの更新方法
JP4755772B2 (ja) 端末装置のプログラムデータ遠隔更新システム
CN110427203B (zh) Sim卡、sim卡的更新方法及对sim卡操作系统进行更新的方法
JP4665635B2 (ja) 認証データ格納方法
US20090187898A1 (en) Method for securely updating an autorun program and portable electronic entity executing it
US10732955B2 (en) Electronic apparatus and information processing system
JP2011154513A (ja) コンピュータープログラム、コンピュータープログラムの更新方法、コンピューター、および、記録装置
JP5304366B2 (ja) 記憶媒体ユニット,及び、記憶媒体自動消去システム
JP5692441B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP4765585B2 (ja) 携帯電話装置及びそれに用いるソフトウェア不正書換え防止方法並びにそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

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: 20120515

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: 20120528

R150 Certificate of patent or registration of utility model

Ref document number: 5017868

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3