JP2003022425A - Icカード自己診断装置および診断方法 - Google Patents

Icカード自己診断装置および診断方法

Info

Publication number
JP2003022425A
JP2003022425A JP2001207831A JP2001207831A JP2003022425A JP 2003022425 A JP2003022425 A JP 2003022425A JP 2001207831 A JP2001207831 A JP 2001207831A JP 2001207831 A JP2001207831 A JP 2001207831A JP 2003022425 A JP2003022425 A JP 2003022425A
Authority
JP
Japan
Prior art keywords
card
program
self
diagnosis
diagnostic
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.)
Pending
Application number
JP2001207831A
Other languages
English (en)
Inventor
Tanitake Hirano
晋健 平野
Seiichi Nishikawa
誠一 西川
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 JP2001207831A priority Critical patent/JP2003022425A/ja
Publication of JP2003022425A publication Critical patent/JP2003022425A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Information Transfer Between Computers (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

(57)【要約】 【課題】ICカードに診断プログラムをロードすること
によって、OSを搭載した後であっても、ICカードを
診断できるICカード自己診断装置及び自己診断方法を
提供する。 【解決手段】ICカードのメモリには、少なくとも、オ
ペレーティング・システム(OS)と、当該OSの管理
下で動作し、ICカードに関する基本的な処理を行う、
プログラムローダを含む基本処理プログラムと、当該O
Sと基本処理プログラムと協働し、ICカードの各種処
理を行う応用プログラムとを記憶され、前記ICカード
を自己診断する時、前記プログラムローダは応用プログ
ラムの1つとして自己診断プログラムを外部装置からロ
ードし、前記メモリに記憶し、当該自己診断プログラム
は、前記OSと基本処理プログラムとを協働して、前記
ICカードを構成する部分を診断する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はICカード、特に、
CPUとメモリを有し、オペレーティング・システム
(OS)と複数の応用プログラムとを組み込んだICカ
ードを診断するICカード自己診断装置及びその診断方
法に関する。
【0002】
【従来の技術】集積回路技術などの進展につれて、CP
Uとメモリを内蔵したICカードが実用されつつ、注目
を集めている。高度なセキュリティ機能と多機能化が可
能のため、種々の分野での使用が期待されている。
【0003】最近のICカードのICチップには、一般
的に、CPU、メモリ、及び、暗号処理専用回路などが
含まれている。そのメモリは通常読み出し専用メモリ
(ROM)、書き換え可能な不揮発性メモリ、たとえ
ば、EEPROM、及び、ランダム・アクセス・メモリ
(RAM)を含む。ROMには、ICカードのオペレー
ティング・システム(OS)が格納され、書き換え可能
な不揮発性メモリには各種OSレベルのプログラムとサ
ービスを提供する応用プログラムとユーザの個人データ
などを収容する。
【0004】これまでは、特定の機能を実現する専用の
機械語プログラムをROMに記憶してICカードに収容
する場合がほとんどであったが、最近では、マルチアプ
リケーション型カードOSと言われるインタプリタを常
駐させた構成のICカードが出現している。このよう
な、インタプリタを搭載したICカードにおいては、プ
ログラム言語で記述されたプログラムを書き換え可能な
不揮発性メモリに記録することにより、カードOS搭載
後、さらに、カード発行後でも所望の機能の応用プログ
ラムを追加することができる、また、不必要なプログラ
ムを削除することもできる。代表的なマルチアプリケー
ションOSとしては、MULTOS、Java(登録商標)C
ard、Windows(登録商標)for Smar
tCardがある。
【0005】ICカードは銀行口座の管理、代金の決
済、そして、種々の自動ID認識に使用され、機密性の
高い重要なデータを記録するので、ICカードの製造業
者は出荷の時にICカードの厳重な診断を行わなければ
ならない。ICカードの処理機能を決定するOSのカー
ネルを記録するROMや、OS用システム・プログラム
と応用プログラムと個人データとを記録する書き換え可
能な不揮発性メモリや、そして、ICカードのセキュリ
ティ機能に関わる暗号処理専用回路などを診断すべきで
あるが、それに加え、CPU、クロック発生回路、RA
Mなど、ICカードの基本構成は、ICカードの基本的
な動作具合を決めるので、その診断も重要である。
【0006】従来のシングルアプリケーション型のIC
カードにおいては、OSと専用のアプリケーションと診
断用プログラムとを事前にICカードのROMに組み込
んで、出荷する前に診断するという方式が知られてい
る。しかし、マルチアプリケーションOSを搭載したI
Cカードにおいては、ROMや書き換え可能な不揮発性
メモリに書きこむべきプログラムのサイズは大きくなっ
た。このため、メモリの一部は診断用プログラムに占用
されると、ICカードに本来の処理機能を実行させるた
めに必要なアプリケーションプログラムの容量が制限さ
れ、ICカードに十分な機能を与えることに支障があ
る。また、メモリに診断用プログラムを搭載しておく
と、そのプログラムの誤動作、或は、不正利用により、
ICカード内のデータが書き換えられてしまう可能性が
あり、セキュリティ上は問題がある。
【0007】また、ICカードに新しい機能を備えるに
伴い、ICカードのハードウエアの構成も常に改善さ
れ、変化しつつある。一方、マルチアプリケーションO
Sを搭載したICカードにおいて、プログラム言語でア
プリケーションプログラムを作成しており、ハードウエ
ア構成に依存性が低いので、様々なICカードに搭載可
能になった。そのため、OSを開発段階で、各種のIC
カードのハードウエアを全部診断できるプログラムを用
意することは難しい。従って、マルチアプリケーション
OSを搭載したICカードにおいては、自己診断プログ
ラムをメモリに搭載していない。
【0008】
【発明が解決しようとする課題】そういう状況によっ
て、ICカードの自己診断は、ICカード端末装置や、
ホストコンピュータなどの外部装置から、ICカードに
診断プログラムをロードして実行させ、ICカードを診
断する、診断終了後、診断プログラムを削除する、とい
う方式は採用されている。例えば、特開平7−2106
40号公報には、ICカードのROM内に検査用プログ
ラムを格納なしに、検査用プログラムを二回不揮発性E
EPROMにロードし、ICカード内蔵メモリを検査す
る方法が開示されている。しかしながら、この検査方法
によっては、複数の検査専用のルーチンをROMに収容
しておかなければならない、従って、OSをすでに搭載
し、ROMの書き換えが不可能なマルチアプリケーショ
ンOSを用いるICカードの診断に適用することが難し
い、また、メモリ容量の制限を緩和する観点からも好ま
しくない。
【0009】本発明の目的は、マルチアプリケーション
OSを用いるICカードに対して、ROMにプログラム
を格納せずに、OSを搭載した後であっても、外部装置
から自己診断プログラムをICカードにロードすること
によって、ICカード全体を診断できるICカード自己
診断装置及び自己診断方法を提供することにある。
【0010】
【課題を解決するための手段】本発明に係わるICカー
ド自己診断装置は、ICカードの診断を行う外部装置
と、該外部装置と接続され、該外部装置と協働して診断
するICカードとを有するICカード自己診断装置であ
って、前記ICカードはCPUと、メモリとを有し、前
記メモリには、少なくとも、オペレーティング・システ
ム(OS)と、前記OSの管理下で動作し、前記ICカ
ードに関する基本的な処理を行う、プログラムローダを
含む基本処理プログラムと、前記OSと前記基本処理プ
ログラムと協働し、ICカードの各種処理を行う応用プ
ログラムとが記憶され、前記ICカードを自己診断する
時、前記プログラムローダは応用プログラムの1つとし
て自己診断プログラムを前記外部装置からロードし、前
記メモリに記憶し、前記メモリに記憶された自己診断プ
ログラムは、前記OSと前記基本処理プログラムとを協
働して、前記ICカードを構成する部分を診断する。
【0011】本発明に係わるICカード自己診断方法
は、外部装置から自己診断プログラムをICカードのメ
モリのデータ記録領域にロードし、前記ロードされた自
己診断プログラムを応用プログラムの1つとして動作さ
せて、書き換え可能な不揮発性メモリのみならず、前記
ICカードの構成部分を診断する。
【0012】
【発明の実施の形態】以下、本発明に係わる実施の形態
を添付の図面を参照して説明する。ICカード自己診断装置の構成 図1は、本実施形態に係わるICカード自己診断装置1
の構成を示すブロック図である。ICカード自己診断装
置1は、ICカード10、端末装置20、例えば、リー
ド・ライト装置、および、ホストコンピュータ30を有
する。端末装置20がICカード10を管理するホスト
コンピュータ30の端末装置であり、実質的にホストコ
ンピュータ30からの指示に基づいて、ICカード10
に対して、様々な処理を行う。
【0013】ICカード10は、ICカード製造会社か
ら発行される前に、OSとOSレベルのソフトウエアを
搭載済みのマルチアプリケーションOSを用いるICカ
ード、或は、ICカード発行会社から発行および管理さ
れて、ICカード所有者が携帯する特定の機能を有する
マルチアプリケーションOSを用いるICカードのいず
れかにする。また、説明の便宜上、接触型とする。この
ICカード10は、図1に示すように、CPU11、イ
ンタフェース(I/F)12、コプロセッサ(co-proce
ssor、暗号処理器)13、乱数生成器14、外部クロッ
ク逓倍回路15、読み出し専用メモリ(ROM)16、
ランダム・アクセス・メモリ(RAM)17、および書き
換え可能な不揮発性メモリEEPROM18を有する。
【0014】CPU11は、端末装置20からのコマン
ド、あるいは、予めICカードに設定されたコマンドに
基づいて、EEPROM18に記憶されているアプリケ
ーションに従って、I/F12を介して端末装置20と
適宜通信を行いながら、所望の処理を行う、たとえば、
ICカードの認証、決済、診断などの処理を行う。CP
U11において処理を行う際に一時的に発生するデータ
をRAM17に記憶する。
【0015】I/F12を介して、ICカード10が端
末装置20に装着された場合に、電力の供給を受けると
ともに、端末装置20と信号の送受を行う。すなわち、
I/F12は、端末装置20から受信した信号をCPU
11に出力し、また、CPU11から入力された信号を
端末装置20に送信する。
【0016】コプロセッサ13と乱数生成器14とは、
専用の暗号処理回路である。乱数生成器14は乱数を生
成する。コプロセッサ13はこの乱数を用いて、RSA
などの演算を行う。
【0017】ROM16、RAM17、および、EEP
ROM18がICカード10のメモリシステムを構成す
る。それぞれの機能は次に述べるICカードのソフトウ
エアの構成で説明する。
【0018】このようなハードウエア構成のマルチアプ
リケーションOSを用いるICカード10においては、
図2に示すような階層構造のソフトウエアが搭載されて
いる。図2は、ICカード10のソフトウエア構成を示
す概念図である。
【0019】その階層構造の中核になるのは、ROM1
6に記憶されるOSのカーネル部21である。OSカー
ネル部21は、ICカードのハードウエア資源を管理
し、OSカーネル部21の管理の下で、上層のプログラ
ムの動作を制御する。また、OSカーネル部21は、上
層のプログラムからICカードのハードウエアをアクセ
スできるようにインタフェースを提供する。ROM16
に記憶されるOSのカーネル部21はICカード製造会
社がICカード発行前に搭載したもので、書き換えるこ
とはできない。
【0020】図2において、OSカーネル部21の上層
には、OSレベルのソフトウエアである処理モジュール
が配置されている。それぞれの処理モジュールは、OS
カーネル部21の所定の機能を実現し、これによって、
OSカーネル部21の多様な機能はさらに上層の応用プ
ログラムが便利に利用できるようになる。これら処理モ
ジュールはEEPROM18、又は、ROM16に記録
されている。以降、EEPROM18に記録されている
ものとして説明する。処理速度、容量、また、セキュリ
ティの関係で、これらOSレベルのソフトウエアは機械
語で記述することが望まれる。
【0021】このような処理モジュールとしては、例え
ば、新たな処理モジュールおよび応用プログラムを追
加、更新、または、削除するための、マルチアプリケー
ションOSを用いるICカード特有のプログラムローダ
22や、応用プログラムからICカードのハードウエア
にアクセスする時に必要となるアプリケーション・プロ
グラミング・インタフェース(application programming
interface、或は、API)23や、プログラム言語を
処理するインタプリタ24や、または、暗号処理ライブ
ラリなどがある。
【0022】プログラムローダ22は、メモリマップに
基づいて、EEPROM18の所定の位置に、新たにア
プリケーション、あるいは、ライブラリなどを記憶する
モジュールである。この時、既にプログラムあるいはラ
イブラリが記憶されている領域に上書きすると、プログ
ラムあるいはライブラリの書き換え、更新することにな
る。本発明では、プログラムローダ22は、応用プログ
ラムとして、自己診断プログラム25をホストコンピュ
ータ30からダウンロードし、EEPROM18に記憶
する。
【0023】Application programming interface (A
PI)23は、プログラム言語で記述された応用プログ
ラムは直接にICカードのハードウエアをプログラミン
グし、動作させて、または、書き込みをするためのプロ
グラムである。API23によって、応用プログラム
は、ICカードのハードウエアに依存せず動作すること
が可能になり、移植性そして汎用性が良い。
【0024】図2において、既に述べたように、前述処
理モジュールの上に、応用プログラム(アプリケーショ
ンとも言う)が収容される。応用プログラムもEEPR
OM18に記録される。マルチアプリケーションOSを
用いるICカードにおいては、ある特定のプログラム言
語で応用プログラムが作成される事が多い。例えば、MU
LTOSのICカードに搭載したアプリケーションはMEL言
語(MULTOS Executable Language)で記述され、JavaCa
rdではJava言語を使用し、また、Windows for SmartCar
dではVirtual Basic言語で書かれたアプリケーションを
サポートする。プログラム言語で書かれた応用プログラ
ムを実行するには、インタプリタ24は必要である。イ
ンタプリタ24は応用プログラムのソースコードを、逐
次、実行形式のコードに変換する。必要に応じて、必要
な処理モジュールを呼出し、ICカード10の特定の機
能を実現するための種々のデータを利用する。また、プ
ログラミング・インタフェースAPI23を介して、I
Cカードのハードウエアにアクセスする。
【0025】なお、ICチップのCPUの機械語で動作
し、プログラム言語のアプリケーションではないものも
ある、その場合は、インタプリタ24を動作させる必要
がない。
【0026】ICカードが提供するサービスにより、応
用プログラムは様々あるが、本発明では、ICカードの
自己診断を行う時に、自己診断プログラム25を応用プ
ログラムとして搭載する。実行された自己診断プログラ
ム25は診断すべきICカードのハードウエアのAPI
を呼出し、そのハードウエアを動作させ、正常かどうか
を確認する。
【0027】応用プログラムは、ICカード10が提供
する機能を実現するためのプログラムであり、通常カー
ド発行前に搭載する。マルチアプリケーションOSを用
いるICカードにおいては、ICカード発行後であって
も、プログラムローダ22により適宜に追加、および、
更新することが可能である。以上が、ICカード自己診
断装置1におけるICカード10の構成の説明である。
【0028】このようなハードウエア構成およびソフト
ウエア構成のICカード10は、端末装置20に装着さ
れると、I/F12を介して端末装置20より電源とク
ロック信号の供給を受けることにより起動される。そし
て、端末装置20を介して、ホストコンピュータ30か
らのコマンドに基づいて、処理を行う。
【0029】次は、本発明におけるICカード自己診断
装置1の端末装置20とホストコンピュータ30との機
能および基本動作を説明する。本発明では、端末装置2
0を経由して、ホストコンピュータ30から送られたロ
ード(書き込み)コマンドに基づいて、自己診断プログ
ラム25をホストコンピュータ30からICカード10
にロードし、さらに、ホストコンピュータ30からの実
行コマンド及び診断コマンドに従って、ICカードを診
断するという処理を行う。
【0030】端末装置20は、ICカード製造会社、ま
たは、管理会社のホストコンピュータ30に通信回線を
介して接続されており、装着されたICカード10に対
して、自己診断プログラム25をロードし、診断させ
る。この機能があれば、通常店舗などで使用される端末
装置であってもよい。
【0031】ICカード10が端末装置20に装着され
ると、端末装置20がICカード10に電源を供給して
起動する。そして、発行後の所有者が携帯しているIC
カードであれば、まずは、端末装置20との間で相互認
証を行い、例えば、ICカード10がICカード自己診
断装置1で処理対象となるICカードか否かの簡単なチ
ェックを行う。ICカード10が認定された場合には、
端末装置20を介して、ICカード10はホストコンピ
ュータ30と通信できる。ホストコンピュータ30とI
Cカード10とは通信を順次に行いながら、ホストコン
ピュータ30より送信されたICカード10に対する指
示を実行する。
【0032】ICカード自己診断方法 このような構成のICカード自己診断装置1を用い、I
Cカードを診断する工程について、図3を参照して説明
する。図3は、本発明に係わるICカード自己診断装置
1を用いて、ICカード10を診断する工程を示すフロ
ーチャートである。ここで、ICカードを発行した後、
ICカードの所有者がICカードの自己診断を行う場合
を例にして説明する。ICカード10が端末装置20に
装着されると、ICカード10が起動される(ステップ
S31)。
【0033】まず、ICカード10と端末装置20の間
で認証処理が行われる(ステップS32)。例えば、I
Cカード所有者はパスワードを入力して、正当な所有者
であり、かつ、ICカードは当該自己診断装置1で使用
されているICカードであると判明したら、端末装置2
0はICカード10の情報をホストコンピュータ30に
送信し、ICカードに10対して、所有者が希望する処
理の指定を待つ。
【0034】次は、ICカード10の所有者は端末装置
20から入力し、ICカードの自己診断を行うと指定す
る(ステップS33)。端末装置20を介してICカー
ド自己診断の指定を受信すると、例えば、ホストコンピ
ュータ30に収容されたICカード自己診断装置1を制
御するプログラムが動作され、ICカード自己診断装置
1を起動し、ICカード10に対する診断処理が開始さ
れる(ステップS34)。
【0035】次は、ホストコンピュータ30は自己診断
プログラム25をICカード10へロードし始める(ス
テップS35)。例えば、ホストコンピュータ30から
自己診断プログラム25をICカード10へロードする
コマンドが送信されて、自己診断プログラム25の構成
成分も送信される。ICカード10はロードコマンドを
受信すると、ICカードOSにより、プログラムローダ
22が起動される。その後、ICカードは自己診断プロ
グラム25の構成成分を受信したと判明したたびに、プ
ログラムローダ22がそれをEEPROM18の所定の
領域に書き込む。
【0036】自己診断プログラム25のロードを終了し
た後、ホストコンピュータ30から自己診断プログラム
25を実行するコマンドが送信され、ICカード10は
それを受信すると、ICカードOSにより、自己診断プ
ログラム25を実行し、ICカード自己診断を開始す
る。自己診断中、ICカードの各ハードウエア構成につ
いて、異常があるか否かを診断結果として、ホストコン
ピュータ30へ送信され、ホストコンピュータ30に記
録され、或は、ホストコンピュータ30又は端末装置2
0に表示される(ステップS36)。ステップS36に
おいてICカードの診断の詳細は後程説明する。
【0037】ICカード全てのハードウエアの診断を終
了したら、自己診断プログラム25をプログラムローダ
22により削除し、又は、診断の結果により、ICカー
ドの廃棄、或は、継続使用などの終了処理を行う(ステ
ップS37)。以上が、ICカード自己診断装置1によ
るICカード10の診断工程の説明である。
【0038】次は、上述のICカード自己診断装置1に
おいてICカード10の自己診断工程S36の詳細な内
容を、図4、図5および図6を参照して説明する。図4
はICカード10を自己診断プログラム25により診断
する工程を示すフローチャートである。
【0039】前述のように、ホストコンピュータ30か
ら、EEPROM18に書き込まれた自己診断プログラ
ム25を実行するコマンドを受信すると、自己診断プロ
グラム25が実行される。即ち、自己診断プログラム2
5がRAM17に読み込まれて、CPU11において自
己診断プログラム25に記述された手続きを逐次実行さ
れ、ICカード10の自己診断を行う(ステップS4
1)。
【0040】まずは、自己診断プログラム25はICカ
ード10の存在するハードウエアの構成を検索し、検出
されたハードウエアの情報を、端末装置20を介して、
ホストコンピュータ30に送信する。その情報を端末装
置20に出力して表示し、又は、ICカード10の管理
情報として記憶する(ステップS42)。また、検出さ
れたハードウエアの構成に基づき、診断の順序を決め
る。
【0041】次は、ホストコンピュータ30とICカー
ド10とはコマンドとデータの送受信を行いながら、自
己診断プログラム25が、例えば、CPU11の診断を
実施する(ステップS43)。ステップS43において
は、図5に示された工程が実施される。即ち、まずは、
ホストコンピュータ30がCPU11を診断するコマン
ドを送信する(ステップS51)。次は、ICカード1
0がそのコマンドを受信して、CPU11を診断する
(ステップS52)。次は、ICカード10はCPU1
1の診断結果をホストコンピュータ30へ送信する(ス
テップS53)。ホストコンピュータ30は診断結果を
表示し、または、記録する(ステップS54)。CPU
11の診断方法としては、例えば、CPU11を構成す
るレジスタやプログラムカウンタ(PC)にFF、0
0、AA、55(16進数表示)などのテストパターン
を書きこみ、直後に正しく書けたか否かを確認し、正常
に動作していることを確認する。
【0042】次は、図4において、ホストコンピュータ
30とICカード10とはコマンドとデータの送受信を
行いながら、自己診断プログラム25が、例えば、RA
M17の診断を実施する(ステップS44)。即ち、図
5に示されるように、RAM17を診断するコマンドを
送信し(ステップS51)、ICカード10がそれを受
信してRAM17を診断し(ステップS52)、そし
て、診断結果をホストコンピュータ30へ送信する(ス
テップS53)、ホストコンピュータ30により診断結
果を表示し、または、記録する(ステップS54)。R
AM17の診断方法としては、例えば、RAM17の未
使用領域にFF、00、AA、55(16進数表示)な
どのテストパターンを書きこみ、直後に正しく書けたか
否かを確認し、正常に動作していることを確認する。
【0043】次は、ホストコンピュータ30とICカー
ド10とはコマンドとデータの送受信を行いながら、自
己診断プログラム25が、例えば、ROM16の診断を
実施する(ステップS45)、即ち、図5に示された工
程が前述と同様に実施される。詳細は省略する。ROM
16の診断方法としては、例えば、ROM16エリアの
先頭から末尾までのチェックコードを算出し、期待値と
一致するか否かを確認する。
【0044】次は、ホストコンピュータ30とICカー
ド10とはコマンドとデータの送受信を行いながら、自
己診断プログラム25が、例えば、EEPROM18の
診断を実施する(ステップS46)、即ち、図5に示さ
れた工程が実施される。詳細は省略する。自己診断プロ
グラム25はEEPROM18に書きこまれているの
で、EEPROM18を診断する時は、自己診断プログ
ラム25自身を書き換えてしまうことにならないよう
に、工夫が必要である。
【0045】図6はEEPROM18を診断する方法を
説明する概念図である。図6において、ステップS61
における空領域は、EEPROM18にOSレベルの処
理モジュールと応用プログラムと個人データとを収容し
た領域以外に、使用していない領域を示す。この領域
は、主にユーザの個人データを記憶する領域である。こ
こで、この空領域だけ診断の対象にする。
【0046】ステップS62においては、前述EEPR
OM18の空領域の所定アドレス領域に、自己診断プロ
グラム25を書き込む。以降、この領域はプログラム領
域と呼び、前記空領域の残りのエリアはデータ領域と呼
ぶ。このデータ領域にFF、00、AA、55(16進
数表示)などのテストパターンを書きこみ、正しく書け
たか否かを確認する。データ領域は正常に動作している
ことを確認したら、ステップS63に進む。
【0047】ステップS63では、プログラムローダ2
2により、自己診断プログラム25をプログラム領域か
ら診断完了したデータ領域に所定のアドレス領域に書き
込む。そして、ステップS62と同様に、この未確認の
プログラム領域にFF、00、AA、55(16進数表
示)などのテストパターンを書きこみ、正しく書けたか
否かを確認することにより、プログラム領域は正常に動
作していることを確認する。
【0048】そして、図5に示されたように、ICカー
ド10はEEPROM18の診断結果をホストコンピュ
ータ30へ送信する(ステップS53)。ホストコンピ
ュータ30は診断結果を表示し、または、記録する(ス
テップS54)。
【0049】なお、同じようにして、EEPROM18
全体の診断もできる。OSレベルのソフトウエア領域と
応用プログラム領域を診断する時は、セキュリティの問
題を考慮し、権限を設ける必要がある。
【0050】次は、ホストコンピュータ30とICカー
ド10とはコマンドとデータの送受信を行いながら、自
己診断プログラム25が、例えば、コプロセッサ13の
診断を実施する(ステップS47)、即ち、図5に示さ
れた工程が実施される。コプロセッサ13の診断方法と
しては、例えば、特定の平文と鍵情報で暗号化し、既存
の期待値と比較することで確認する。又は、暗号文を復
号して元の平文に戻る事でもコプロセッサ13の動作を
確認できる。
【0051】次は、ホストコンピュータ30とICカー
ド10とはコマンドとデータの送受信を行いながら、自
己診断プログラム25が、例えば、乱数生成器14の診
断を実施する(ステップS48)、即ち、図5に示され
た工程が実施される。乱数生成器14の診断方法として
は、例えば、乱数生成器14を動作させ、乱数を多量生
成させ、その乱数の分布を計測し、一様な分布になって
いるか否かを確認する。
【0052】次は、ホストコンピュータ30とICカー
ド10とはコマンドとデータの送受信を行いながら、自
己診断プログラム25が、例えば、外部クロック逓倍回
路15の診断を実施する(ステップS49)、即ち、図
5に示された工程が実施される。外部クロック逓倍回路
15の診断方法としては、例えば、外部クロック信号に
準じてタイマを起動する。同時に、内部クロックで10
0クロックを空ループさせる。空ループが終了した段階
でタイマのカウンタ値を読み出す。この値が一定範囲内
に収まっている事を確認する。
【0053】ICカードを構成するすべてのハードウエ
アの診断を完了した後、処理は図3のステップS37へ
進む。
【0054】以上の診断方法は、後から応用プログラム
を追加ができれば、そして、各ハードウエアにアクセス
するAPIを備えていれば、実現できる。従って、以上
のように、本実施の形態のICカード自己診断装置1を
用いれば、全てのマルチアプリケーションOSを用いる
ICカードは、OSと、OSレベルのソフトウエアと応
用プログラムとを搭載した後であっても、さらに、カー
ド発行後であっても、自己診断プログラムを追加するこ
とで、ICカードの自己診断ができる。
【0055】既に述べたように、プログラム言語で作成
されて、ICカードのソフトウエア階層構造の中に、最
上層にある自己診断プログラムは、ICカードの各ハー
ドウエアを書き込む、または、動作させるには、そのハ
ードウエアへのプログラミング・インタフェースが必要
である。このプログラミング・インタフェースはICカ
ードOSのカーネルに含まれ、または、処理モジュール
として用意されており、本発明のAPI23に相当す
る。API23によって、プログラム言語を用いても、
ICカードのハードウエアのプログラミングができるよ
うになり、各ハードウエアの診断も可能になる。以上の
本実施形態の説明では、ICカードの各ハードウエアの
プログラミング・インタフェースが開放されて、利用可
能であることを前提とした。
【0056】本発明は以上に説明した実施の形態に限ら
れるものではなく、種々の改変が可能である。前述した
実施の形態において、ICカード発行後に、所有者によ
るICカードを自己診断する場合を例にして説明した
が、ICカードを発行する前にICカードの製造業者に
よるICカードの不良検査にも適用できることは明らか
である。この場合は、図3において、ICカードの認定
処理ステップS32が不要である。また、診断完了後、
ステップS37の終了処理においては、異常のあるIC
カードは廃棄し、正常のICカードに発行処理など内容
の後処理を行う。さらに、EEPROM18の診断工程
においては、前述空領域は個人データを記録するユーザ
エリア全体になる。これは、ICカード製造会社が実際
に行っている診断作業である。この場合は、前述のよう
にホストコンピュータ30とICカード10が通信を行
いながら診断を実行することに比べ、すべてのハードウ
エア構成成分を一気に診断する、いわゆる、バッチモー
ドでの診断は便利である。
【0057】また、前述した実施の形態においては、専
用の自己診断プログラムの追加によるICカードの自己
診断を例にしたが、診断機能を通常のサービスを提供す
る応用プログラムに追加し、その応用プログラムをロー
ドする時に自己診断を行うことも可能である。
【0058】また、ICカード所有者による自己診断、
或は、サービスを提供する応用プログラムを用いる自己
診断を行う場合は、実際に必要となったICカードの機
能だけ使用する前に診断しても良い。
【0059】また、本実施の形態においては、接触型の
ICカードを例示して本発明を説明した。しかし、イン
タフェース(I/F)12としては端子が設けられてお
らず、電磁的に外部装置と接続されるような構成であっ
ても何ら差し支えない。すなわち、ICカードは非接触
型のICカードであってもよい。
【0060】
【発明の効果】本発明によれば、診断機能を持っていな
い全てのマルチアプリケーションOSを用いるICカー
ドは、OSと、各種プログラムを搭載した後であって
も、さらに、カード発行後であっても、自己診断プログ
ラムを追加することにより、ICカード全体の診断が可
能になる。そして、診断プログラムは書き換え可能な不
揮発性メモリに記憶され、予めROMに診断ルーチンを
格納せず、診断直後に診断プログラムを削除することに
よって、診断プログラムはメモリ容量を占用しない、従
って、ICカードの本来の機能を十分に実現するメモリ
容量を確保ができる。
【0061】また、OSの書き換えをせず、ICカード
の診断は簡単にでき、ICカード製造業者やICカード
の個人所有者など、誰でも何時でも簡単にICカードの
ハードウエアの状況を調べられ、便利性が優れている。
また、診断プログラムをメモリに常駐させる方式とくら
べ、ICカードの安全性が高い。簡単にICカードを検
査できるので、ICカード使用上の安全性をさらに高め
る。
【0062】さらに、診断プログラムは機械語でなく、
プログラム言語で記述され、移植性が良く、様々なハー
ドウエア構成のICカードに適用でき、汎用性は高い。
特に、異なるカードOSまたはインタプリタを搭載した
ICカードであっても、それぞれの診断プログラムの仕
様を均一にすることによって、その異なるICカードの
診断結果でも比較でき、診断結果がICカードの仕様を
反映し、ハンドリングしやすい。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係わるICカード自己
診断装置の構成を示すブロック図である。
【図2】本発明に係わるICカード自己診断装置のIC
カードのソフトウエア構成を示す概念図である。
【図3】本発明に係わるICカード自己診断装置による
ICカードを診断する全工程を示すフローチャートであ
る。
【図4】ICカードの診断内容を示すフローチャートで
ある。
【図5】ICカードの各ハードウエア構成成分をそれぞ
れ自己診断する工程を示すフローチャートである。
【図6】本発明に係わる書き換え可能な不揮発性メモリ
を診断する方法を説明する概念図である。
【符号の説明】
1…ICカード自己診断装置 10…ICカード 11…CPU 12…インタフェース(I/F) 13…コプロセッサ(co-processor,或は、暗号処理
器) 14…乱数生成器 15…外部クロック逓倍回路 16…ROM 17…RAM 18…書き換え可能な不揮発性メモリ(EEPROM) 20…端末装置 21…OSのカーネル部 22…プログラムローダ 23…application programming interface (API) 24…インタプリタ 25…自己診断プログラム 30…ホストコンピュータ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06K 17/00 G06K 19/00 Z 19/07 N Fターム(参考) 2C005 MA21 MB03 MB08 MB10 NA02 NA06 SA05 SA22 TA21 TA22 5B035 BB09 BC08 CA29 5B048 AA20 DD01 DD09 5B058 CA23 KA28

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】ICカードの診断を行う外部装置と、 該外部装置と接続され、該外部装置と協働して診断する
    ICカードとを有するICカード自己診断装置であっ
    て、 前記ICカードはCPUと、メモリとを有し、 前記メモリには、少なくとも、オペレーティング・シス
    テム(OS)と、前記OSの管理下で動作し、前記IC
    カードに関する基本的な処理を行う、プログラムローダ
    を含む基本処理プログラムと、前記OSと前記基本処理
    プログラムと協働し、ICカードの各種処理を行う応用
    プログラムとが記憶され、 前記ICカードを自己診断する時、前記プログラムロー
    ダは応用プログラムの1つとして自己診断プログラムを
    前記外部装置からロードし、前記メモリに記憶し、 前記メモリに記憶された自己診断プログラムは、前記O
    Sと前記基本処理プログラムとを協働して、前記ICカ
    ードを構成する部分を診断するICカード自己診断装
    置。
  2. 【請求項2】外部装置から自己診断プログラムをICカ
    ードのメモリのデータ記録領域にロードし、 前記ロードされた自己診断プログラムを応用プログラム
    の1つとして動作させて、前記ICカードの構成部分を
    診断するICカード自己診断方法。
JP2001207831A 2001-07-09 2001-07-09 Icカード自己診断装置および診断方法 Pending JP2003022425A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001207831A JP2003022425A (ja) 2001-07-09 2001-07-09 Icカード自己診断装置および診断方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001207831A JP2003022425A (ja) 2001-07-09 2001-07-09 Icカード自己診断装置および診断方法

Publications (1)

Publication Number Publication Date
JP2003022425A true JP2003022425A (ja) 2003-01-24

Family

ID=19043746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001207831A Pending JP2003022425A (ja) 2001-07-09 2001-07-09 Icカード自己診断装置および診断方法

Country Status (1)

Country Link
JP (1) JP2003022425A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITMI20102472A1 (it) * 2010-12-30 2012-07-01 Incard Sa Metodo e sistema per controllare la perdita di affidabilità di una memoria non volatile
JP2013529321A (ja) * 2010-12-23 2013-07-18 インテル・コーポレーション テスト、検証及びデバッグアーキテクチャ
JP2014063345A (ja) * 2012-09-21 2014-04-10 Toshiba Corp Icカード、携帯可能電子装置、及び情報処理方法
JP2016035637A (ja) * 2014-08-01 2016-03-17 大日本印刷株式会社 信号処理装置、icカード、信号処理方法、及び信号処理プログラム
JP2020182142A (ja) * 2019-04-26 2020-11-05 株式会社安川電機 通信システム、通信方法、及びプログラム
JP2020184751A (ja) * 2019-04-26 2020-11-12 株式会社安川電機 通信システム、通信方法、及びプログラム
US11277388B2 (en) 2019-04-26 2022-03-15 Kabushiki Kaisha Yaskawa Denki Communication system, communication method, and information storage medium
JP7400528B2 (ja) 2020-02-21 2023-12-19 大日本印刷株式会社 自己診断機能を有するicカードおよびicカードの自己診断方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013529321A (ja) * 2010-12-23 2013-07-18 インテル・コーポレーション テスト、検証及びデバッグアーキテクチャ
US10198333B2 (en) 2010-12-23 2019-02-05 Intel Corporation Test, validation, and debug architecture
ITMI20102472A1 (it) * 2010-12-30 2012-07-01 Incard Sa Metodo e sistema per controllare la perdita di affidabilità di una memoria non volatile
WO2012089334A3 (en) * 2010-12-30 2012-08-23 Stmicroelectronics Nv Method and system for controlling loss of reliability of non-volatile memory
US9235345B2 (en) 2010-12-30 2016-01-12 Stmicroelectronics International N.V. Method and system for controlling loss of reliability of non-volatile memory
JP2014063345A (ja) * 2012-09-21 2014-04-10 Toshiba Corp Icカード、携帯可能電子装置、及び情報処理方法
JP2016035637A (ja) * 2014-08-01 2016-03-17 大日本印刷株式会社 信号処理装置、icカード、信号処理方法、及び信号処理プログラム
JP2020182142A (ja) * 2019-04-26 2020-11-05 株式会社安川電機 通信システム、通信方法、及びプログラム
JP2020184751A (ja) * 2019-04-26 2020-11-12 株式会社安川電機 通信システム、通信方法、及びプログラム
US11277388B2 (en) 2019-04-26 2022-03-15 Kabushiki Kaisha Yaskawa Denki Communication system, communication method, and information storage medium
JP7400528B2 (ja) 2020-02-21 2023-12-19 大日本印刷株式会社 自己診断機能を有するicカードおよびicカードの自己診断方法

Similar Documents

Publication Publication Date Title
JP4404940B2 (ja) カスタムソフトウェア画像をコンピュータシステムへ供給する方法およびシステム
EP0909416B1 (en) Method and apparatus for providing improved diagnostic functions in a computer system
US6662314B1 (en) Microcomputer including program for rewriting data in an internal flash memory
EP0356237A2 (en) Integrated Circuit Card
US6253163B1 (en) Portable object reader terminal and process for self-diagnosis and supervision of same
JP2002132518A (ja) 仮想計算機システムおよび仮想計算機間の入出力装置交換方法
US5039850A (en) IC card
CN115312110A (zh) 芯片验证系统及其验证方法
JP2003022425A (ja) Icカード自己診断装置および診断方法
JP2001236483A (ja) 携帯可能電子装置
JP4742469B2 (ja) 複数のosを用いるicカード、icカード処理装置および処理方法
JPH113213A (ja) 情報処理システム
JPH07141277A (ja) プログラムおよびデータの版数管理を行う端末装置およびオンラインシステム
JP2001034822A (ja) 自動販売機の制御装置
US5173903A (en) Method for performing quality logic tests on data processing systems by sequentially loading test microinstruction programs and operating microinstruction programs into a single control store
JP2002538532A (ja) Icカードのアプリケーションに対するアクセス保護装置
JP2002318703A (ja) 制御システム
WO2001097035A1 (fr) Procede et systeme d'evaluation automatique, et support de stockage d'un programme d'evaluation automatique
JPH0620127A (ja) 建設機械の制御システム
US20010049794A1 (en) Write protection software for programmable chip
JP3057326B2 (ja) Icカード
JPH01223586A (ja) Icカードテスト方式
CN117827304A (zh) 设备可执行固件的加载方法、装置、存储介质及电子设备
JP2004139487A (ja) ソフトウェアの機能追加方法
JPH08286948A (ja) ソフトウエア開発支援装置および方法