(57)【特許請求の範囲】
【請求項１】
電気的に書き変え可能なメモリへアプリケーションプログラムを登録し、そのプログラムを実行させるＩＣカードであって、少なくとも、電気的に書き変え可能なメモリの所定アドレス部の状態により、アプリケーションプログラムがロード済みか、ロード未かの判断を行うアプリケーションプログラムロード未済判断手段と、前記アプリケーションプログラムロード未済判断手段にて、ロード未と判断された場合には、アプリケーションプログラムのロード待ちとし、ロード済みと判断された場合には、ロードしたアプリケーションプログラムを実行する状態とする、ＩＣカード制御手段とを有し、且つ、前記アプリケーションプログラムロード未済判断手段による判断は、前記電気的に書き変え可能なメモリの所定アドレス部の少なくとも１ビット以上がメモリ消去状態である状態をアプリケーションプログラムロード済みと判断し、それ以外の状態をアプリケーションプログラムロード未と判断することを特徴とするＩＣカード。
【請求項２】
請求項１に記載のＩＣカードおいて、電気的に書き変え可能なメモリがＥＥＰＲＯＭを、アプリケーションロード未済判断手段がＥＥＰＲＯＭとＲＯＭを、アプリケーションプログラムロード手段がＩ／Ｏ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭを、ＩＣカード制御手段がＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭをハードウェア構成として含むことを特徴とするＩＣカード。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は，ＣＰＵ付きＩＣカードに関し、特に、アプリケーションプログラムのローディング方法に関する。
【０００２】
【従来の技術】
ＩＣカードは新しい情報記録媒体として、特に磁気カードに代わる情報記録媒体として注目を集めており次第に普及しつつある。
特に、ＣＰＵを内蔵したＩＣカードは、高度なセキュリテイーを有するため、種々の分野での利用が期待されている。一般にＩＣカードは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭといった３種類のメモリを内蔵しており、いずれも内蔵ＣＰＵによってアクセスされる。ＲＯＭ内には、ＣＰＵが実行すべきプログラム（ルーチンプログラム）が格納されており、ＥＥＰＲＯＭには、ユーザのための個人データなどが格納される。またＲＡＭは、ＣＰＵが命令を実行するときのワークエリアとして利用される。
【０００３】
ＲＯＭ内に格納されたルーチンプログラムの他に、ＩＣカードの外部からＩＣカードに各種使用にあったアプリケーションプログラムを入力（ローデイング）し、処理させることがある。
この際、ＩＣカードにアプリケーションプログラムがローデイングされた場合には、通常、（内部の書き換え可能なメモリ、即ち）ＥＥＰＲＯＭにアプリケーションプログラムがロード済みである情報を書き込み、その情報を利用して以降のＩＣカード動作を決定していた。
そして、ＩＣカードにアプリケーションプログラムロード前の初期状態である場合には、アプリケーションプログラムローデイングのためのコマンド待ち状態へ、アプリケーションプログラムローデイング済みの場合には、ローデイングされたアプリケーションプログラムへ処理を移行させていた。
しかしながら、アプリケーションプログラムロード前あるいはロード済みであるかの情報がデータ化けを起こすと、アプリケーションプログラムロード済みにもかかわらず、誤ってアプリケーションプログラムロード前の初期状態になって、再びアプリケーションプログラムがロードされてしまう、と言う問題があった。
即ち、ＥＥＰＲＯＭは端子からのノイズによるデータ化けを起こす可能性がわずかにあり、アプリケーションプログラムロード前あるいはロード済みであるかの情報がデータ化けを起こし、情報がＥＥＰＲＯＭメモリ内で変化してしまうという危険性があり、問題となっていた。
【０００４】
【発明が解決しようとする課題】
上記のように、ＩＣカードにおいて、ＥＥＰＲＯＭへアプリケーションプログラムを登録し、実行させるような場合、ＥＥＰＲＯＭ内に格納されている、アプリケーションプログラムがロード前あるいはロード済みであるかを示す情報が、データ化けすることに対する対応が求められていた。
本発明は、このような状況のもと、ＥＥＰＲＯＭ内に格納されている、アプリケーションプログラムがロード前あるいはロード済みであるかを示す情報が、データ化けしないアプリケーションプログラムのロード方法を提供するものである。
【０００５】
【課題を解決するための手段】
本発明のＩＣカードは、電気的に書き変え可能なメモリへアプリケーションプログラムを登録し、そのプログラムを実行させるＩＣカードであって、少なくとも、電気的に書き変え可能なメモリの所定アドレス部の状態により、アプリケーションプログラムがロード済みか、ロード未かの判断を行うアプリケーションプログラムロード未済判断手段と、前記アプリケーションプログラムロード未済判断手段にて、ロード未と判断された場合には、アプリケーションプログラムのロード待ちとし、ロード済みと判断された場合には、ロードしたアプリケーションプログラムを実行する状態とする、ＩＣカード制御手段とを有し、且つ、前記アプリケーションプログラムロード未済判断手段による判断は、前記電気的に書き変え可能なメモリの所定アドレス部の少なくとも１ビット以上がメモリ消去状態である状態をアプリケーションプログラムロード済みと判断し、それ以外の状態をアプリケーションプログラムロード未と判断することを特徴とするものである。そして、上記において、電気的に書き変え可能なメモリがＥＥＰＲＯＭを含み、アプリケーションロード未済判断手段がＥＥＰＲＯＭとＲＯＭを、アプリケーションプログラムロード手段がＩ／Ｏ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭを、ＩＣカード制御手段がＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭをハードウェア構成として含むことを特徴とするものである。
【０００６】
【作用】
本発明のＩＣカードは、上記のような構成にすることにより、ＥＥＰＲＯＭ（電気的に書き変え可能なメモリ）の所定アドレス部の状態が、端子からのノイズによるデータ化けによる影響の全く無いものとしており、これにより、アプリケーションプログラムロード済みにもかかわらず、誤ってアプリケーションプログラムロード前の初期状態になって、再びアプリケーションプログラムがロードされてしまう、という問題を無くすものである。また、本発明のＩＣカードは、電気的に書き変え可能なメモリがＥＥＰＲＯＭを、アプリケーションロード未済判断手段がＥＥＰＲＯＭとＲＯＭを、アプリケーションプログラムロード手段が、Ｉ／Ｏ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭを、ＩＣカード制御手段がＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭをハードウェア構成として含むことにより、従来のＩＣカードハード構成にて、アプリケーションプログラムロード済みにもかかわらず、誤ってアプリケーションプログラムロード前の初期状態になって、再びアプリケーションプログラムがロードされてしまう、という問題を無くしている。
【０００７】
【実施例】
本発明のＩＣカード実施例を図にもとづいて説明する。図１（ａ）は本発明の実施例１のＩＣカードのハード構成を示す図で、図１（Ｂ）は本発明の実施例１のＩＣカードの機能構成を示す図である。図１中、１００はＩＣカード、１０１はＣＰＵ、１０２はＲＯＭ、１０３はＲＡＭ、１０４はＥＥＰＲＯＭ、１０５はＩ／Ｏライン、１０６はＶCC（電源電圧）、１０７はＲＳＴ（リセットライン）、１０８はＣＬＫ（クロックライン）、１０９はＧＮＤ（グランドライン）である。本実施例のＩＣカードは、基本的な構成は、図１に示すように、従来のＩＣカードと同じで、ＣＰＵ１０１と、メモリとしてのＲＯＭ１０２、ＲＡＭ１０３、ＥＥＰＲＯＭ１０４と、Ｉ／Ｏライン１０５と、ＶCC（電源電圧ライン）１０６と、ＲＳＴ（リセットライン）１０７と、ＣＬＫ（クロックライン）１０８とＧＮＤ（グランドライン）１０９とを有するものであるが、図３に示すＥＥＰＲＯＭマップの一部の所定アドレス部（３０００アドレス）に、アプリケーションプログラムがロード済みか、ロード未かの情報ＬＦを持たせており、且つ、この情報を判断するＥＥＰＲＯＭとＲＯＭをハードウェア構成として含むアプリケーションロード未済判断手段と、該アプリケーションロード未済判断手段によりロード未と判断された場合にはアプリケーションプログラムのロード待ちとし、ロード済みと判断された場合には、ロードしたアプリケーションプログラムを実行する状態とする、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭをハードウェア構成として含むＩＣカード制御手段と、Ｉ／Ｏ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭをハードウェア構成として含むアプリケーションプリケーションプログラムロード手段とを有するものである。図２は、上記ＲＯＭ１０２、ＲＡＭ１０３、ＥＥＰＲＯＭ１０４の各メモリのアドレスを示したものである。
【０００８】
図３（ａ）は、電気的に書き変え可能なメモリ（ＥＥＰＲＯＭ）の一部の所定アドレス（３０００アドレス）にアプリケーションプログラムがロード済みか、ロード未かの情報ＬＦ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｏａｄｉｎｇ  Ｆｌａｇ）を持たせた場合のマップ図を示すものであり、アドレス３００１〜３００２はアプリケーションプログラムのジャンプアドレスを示し、３００３〜３０７Ｆはアプリケーションプログラムのロード領域を示している。
ＬＦ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｏａｄｉｎｇ  Ｆｌａｇ）は、図３（ｂ）に示すように、１バイト（８ビット〜ｂ０〜ｂ７）からなり、本実施例の場合、ビットｂ０〜ｂ７の少なくとも１つ以上が、メモリ消去状態である、即ちメモリセルに電荷がチャージされていない状態である場合を、アプリケーションプログラムがロード済みと判断し、再度のアプリケーションプログラムのロードをしないとするものである。言い換えると、ビットｂ０〜ｂ７の全てに対し電荷がチャージされた状態の場合のみ、再度、アプリケーションプログラムのロードが行われる。
従って、ＥＥＰＲＯＭは端子からのノイズによるデータ化けによって、情報ＬＦの判断が変わることはほとんど無くなる。
ＬＦ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｏａｄｉｎｇ  Ｆｌａｇ）がＦＦ（ｈ）の場合を正常ロード済み、００（ｈ）の場合をロード前、それ以外をロードする際のシーケンスの異常状態を表すものとすれば、異常状態の場合もロード済みとして扱い、ＬＦが００（ｈ）、即ち、ｂ０〜ｂ７の８ビットに対応するメモリセル全てに電荷がチャージされた状態以外は、ロード済みとして扱い、再度のアプリケーションのロードができないのである。
尚、一般にＥＥＰＲＯＭにおいてはメモリ消去状態、即ち、電荷がチャージされていない状態をビット１としている。
【０００９】
図４に、アプリケーションプログラムをロードするアプリケーションプログラムロードコマンドの１例を挙げる。
アプリケーションプログラムロードコマンドは、ＣＬＡ（コマンドクラス）、ＩＮＳ（コマンドインストラクション）、ＪＭＰ（アプリケーションプログラムスタートアドレス）、ＡＬＥＮ（アプリケーションプログラムの長さ）、ＡＤＡＴＡ（アプリケーションプログラムの実プログラムデータ）から成っている。
尚、括弧内数値はバイト数を表す。
【００１０】
次いで、本実施例ＩＣカードの、アプリケーションプログラムのローデイングに関する動作を図５をもとに説明する。
先ず、図３に示すＥＥＰＲＯＭ内の情報ＬＦ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｏａｄｉｎｇ  Ｆｌａｇ）値を確認する。（Ｓ５０１）
ここで、ＬＦがＦＦ（ｈ）である場合には、図３に示すＪＭＰの値のアドレスへプログラムジヤンプし、アプリケーションプログラムの実行する（Ｓ５０１Ａ）。即ち、ＬＦがＦＦ（ｈ）である場合にはアプリケーションプログラムのロードを行なわない。
ＬＦがＦＦ（ｈ）でない場合には、ＬＦ値が００（ｈ）であるか否かを確認する。（Ｓ５０２）
ＬＦが００（ｈ）でない場合には処理を中止する（Ｓ５０２Ａ）。即ち、ＬＦがＦＦ（ｈ）でなく、且つ、００（ｈ）でない場合にもアプリケーションプログラムのロードを行なわない。
ＬＦが００（ｈ）である場合には、図４に示すアプリケーションプログラムのロードコマンド待ち状態となる。（Ｓ５０３）
ステップＳ５０３の後、アプリケーションプログラムがＲＡＭへ受信（ロード）されると、ＬＦをＦＦ（ｈ）に書き変える。（Ｓ５０４）
次いで、図４に示すアプリケーションプログラムロードコマンドのＪＭＰ（アプリケーションプログラムスタードアドレスロードアドレス）からＡＬＥＮのロード長さ分ＡＤＡＴＡ  ８プリケーションプログラムデータ）をＥＥＰＲＯＭへ書き込む。（Ｓ５０５）
正常終了か、異常終了かのステータスをコマンドに対するレスポンスとして送出する。（Ｓ５０６）
以上のように、本実施例においては、ＬＦ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｏａｄｉｎｇ  Ｆｌａｇ）値がつつ（ｈ）以外の場合には、アプリケーションプログラムのロードは行なわれない。
【００１１】
【効果】
本発明は、上記のように、ＥＥＰＲＯＭ内に格納されている、アプリケーションプログラムがロード前あるいはロード済みであるかを示す情報による判断が、データ化けの影響を受けないＩＣカードの提供を可能にするもので、結果として、重複するアプリケーションプログラムのローデイングを無くしたＩＣカードの提供を可能にしている。
【図面の簡単な説明】
【図１】実施例ＩＣカードの構成図
【図２】実施例ＩＣカードの各メモリのアドレスを説明するための図
【図３】ＥＥＰＲＯＭのメモリマップを説明するための図
【図４】アプリケーションプログラムロードコマンドを説明するための図
【図５】ＩＣカードの動作を説明するための図
【符号の説明】
１００                              ＩＣカード
１０１                              ＣＰＵ
１０２                              ＲＯＭ
１０３                              ＲＡＭ
１０４                              ＥＥＰＲＯＭ
１０５                              Ｉ／Ｏライン
１０６                              ＶＣＣ
１０７                              ＲＳＴ
１０８                              ＣＬＫ
１０９                              ＧＮＤ
【図１】
0003634417.tif 000002
【図２】
0003634417.tif 000003
【図３】
0003634417.tif 000004
【図４】
0003634417.tif 000005
【図５】
0003634417.tif 000006