(57)【特許請求の範囲】
【請求項１】
複数のアプリケーションプログラムを電気的に書き換え可能なメモリ内にローデイングし、コマンドで指定されたアプリケーションを実行するＩＣカードであって、アプリケーション入力手段と、アプリケーション特定情報入力手段と、アプリケーション実行手段とを有し、
前記コマンドで指定されたアプリケーション名が前記電気的に書き換え可能なメモリ内の特定情報領域に存在しないときには、
前記アプリケーション入力手段は前記コマンドで指定されたアプリケーションプログラム内のＣＰＵ命令コードを取り出し、そのＣＰＵ命令コードがレジスタ間のデータ移動命令、レジスタのビット操作命令であるときには使用するレジスタとメモリ領域が適正であるか否かを検証し、
またそのＣＰＵ命令コードがアドレスのジヤンプ命令の場合には、前記アプリケーション特定情報入力手段が前記コマンドで入力した特定情報によって示されるアプリケーション記憶予定領域もしくは、各アプリケーションに共通使用が許可されている領域であるか否かを検証し、
前記アプリケーションプログラムにおけるＣＰＵ命令コードの１つでも検証結果が不適正であれば異常状態終了を送出し、それらの全ての検証結果が適正であれば前記アプリケーション入力手段は前記アプリケーションプログラムを前記電気的に書き換え可能なメモリ内の処理プログラム格納領域に格納し、その格納の後に前記アプリケーション特定情報入力手段は前記特定情報を前記電気的に書き換え可能なメモリ内の特定情報領域に格納し、
前記コマンドで指定されたアプリケーション名が特定情報領域に存在するときには、前記アプリケーション実行手段はそのアプリケーションを実行する、
ことを特徴とするＩＣカード。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は，ＣＰＵ付きＩＣカードに関し、特に、複数のアプリケーションプログラムをローデイングしたＩＣカードに関する。
【０００２】
【従来の技術】
ＩＣカードは新しい情報記録媒体として、特に磁気カードに代わる情報記録媒体として注目を集めており次第に普及しつつある。
特に、ＣＰＵを内蔵したＩＣカードは、高度なセキュリテイーを有するため、種々の分野での利用が期待されている。一般にＩＣカードは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭといった３種類のメモリを内蔵しており、いずれも内蔵ＣＰＵによってアクセスされる。ＲＯＭ内には、ＣＰＵが実行すべきプログラム（ルーチンプログラム）が格納されており、ＥＥＰＲＯＭには、ユーザのための個人データなどが格納される。またＲＡＭは、ＣＰＵが命令を実行するときのワークエリアとして利用される。
【０００３】
ＲＯＭ内に格納されたルーチンプログラムの他に、ＩＣカードの外部からＩＣカードに各種使用にあったアプリケーションプログラムを入力（ローデイング）し、処理させることがある。
この際、複数のアプリケーションプログラムをＩＣカードにローデイングして、必要に応じ、各プログラムを実行する場合がある。
この場合、従来の第一の方法においては、一つのＰＣ（プログラムカウンター）でアクセスできるアドレス空間に、ユーザが作成した複数のアプリケーション（ＣＰＵ命令コード群）をローデイングして、指定されたアプリケーションのＣＰＵ命令コードを実行することでそのアプリケーション処理を実現していた。
また、従来の第二の方法においては、ＩＣカード内にあらかじめ決められたサイズの分割した領域があり、各領域内にアプリケーションを設定して一つのアプリケーションから他のアプリケーションをアクセスできないようにしていた。
【０００４】
しかしながら、上記従来の第一の方法においては、ＩＣカード内にアプリケーションプログラムをローデイングする際、そのアプリケーション内で使用しているＣＰＵ命令コードの処理内容およびアクセス範囲等をチエックする手段を持たないため、アプリケーションは、ＩＣカード内を自由にアクセスすることが可能である。即ち、一つのアプリケーションから他のアプリケーションをアクセスできてしまう。これはセキュリテイー上、問題となっていた。
上記従来の第二の方法においては、セキュリテイーが保たれている領域が複数存在しても、その領域のサイズがあらかじめ決まっているためアプリケーションの設定数がそれにより限定されててしまい、アプリケーションサイズには大きいものもあれば小のものもあるためメモリの有効利用をすることはできないという問題があった。
【０００５】
【発明が解決しようとする課題】
上記のように、複数のアプリケーションプログラムをローデイングして、使用するＩＣカードにおいては、セキュリテイー上の問題を解決し、且つ、メモリの有効利用ができるものが求められていた。
本発明は、このような状況のもと、複数のアプリケーションプログラムをローデイングして、使用するＩＣカードで、セキュリテイー上の問題を解決し、且つ、メモリの有効利用ができる、ＩＣカードを提供しようとするものである。
【０００６】
本発明の請求項１に係るＩＣカードは、複数のアプリケーションプログラムを電気的に書き換え可能なメモリ内にローデイングし、コマンドで指定されたアプリケーションを実行するＩＣカードであって、アプリケーション入力手段と、アプリケーション特定情報入力手段と、アプリケーション実行手段とを有し、前記コマンドで指定されたアプリケーション名が前記電気的に書き換え可能なメモリ内の特定情報領域に存在しないときには、前記アプリケーション入力手段は前記コマンドで指定されたアプリケーションプログラム内のＣＰＵ命令コードを取り出し、そのＣＰＵ命令コードがレジスタ間のデータ移動命令、レジスタのビット操作命令であるときには使用するレジスタとメモリ領域が適正であるか否かを検証し、またそのＣＰＵ命令コードがアドレスのジヤンプ命令の場合には、前記アプリケーション特定情報入力手段が前記コマンドで入力した特定情報によって示されるアプリケーション記憶予定領域もしくは、各アプリケーションに共通使用が許可されている領域であるか否かを検証し、前記アプリケーションプログラムにおけるＣＰＵ命令コードの１つでも検証結果が不適正であれば異常状態終了を送出し、それらの全ての検証結果が適正であれば前記アプリケーション入力手段は前記アプリケーションプログラムを前記電気的に書き換え可能なメモリ内の処理プログラム格納領域に格納し、その格納の後に前記アプリケーション特定情報入力手段は前記特定情報を前記電気的に書き換え可能なメモリ内の特定情報領域に格納し、前記コマンドで指定されたアプリケーション名が特定情報領域に存在するときには、前記アプリケーション実行手段はそのアプリケーションを実行するようにしたものである。
【０００７】
尚、上記においてアプリケーションとはＩＣカードへ入力されるユーザのあるアプリケーションプログラムを実行させるための、プログラムとプログラムによって参照されるデータを意味する。
また、特定情報とは、図３に図示されている、電気的に書き換え可能なメモリであるＥＥＰＲＯＭのメモリマップにおける、プログラムのローデイング未済みを示すＬＦ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｏａｄｉｎｇ  Ｆｌａｇ）、アプリケーションの長さを示すＡＬＥＮ、、アプリケーションのネームを示すＡＰ−ＮＡＭＥ、アプリケーションプログラムの格納予定領域の開始アドレスを示すＡＰＳＡＤＤ、アプリケーションプログラムの格納予定領域の最終アドレスを示すＡＰＥＡＤＤ、アプリケーションの開始を示すＪＡＤＤ、アプリケーションプログラムの長さを示すＡＰ−ＬＥＮ等の情報である。
【０００８】
【作用】
本発明のＩＣカードは、上記のように、入力されたアプリケーションが、アプリケーション中の各ＣＰＵ命令コードの使用が許可されたＣＰＵ命令コードであり、且つ、そのＣＰＵ命令コードの動作範囲がアプリケーション記憶予定領域もしくは、各アプリケーションに共通使用が許可されている領域である場合のみ、アプリケーション特定情報に入力手段にて入力された特定情報に応じて、実行されることにより、複数のアプリケーションプログラムをローデイングして、使用するＩＣカードにおいて、一つのアプリケーションから他のアプリケーションをアクセスできないようにして、セキュリテイー上の問題を解決し、且つ、セキュリテイーが保たれている領域を複数存在させることができ、メモリの有効利用を可能としている。
【０００９】
【実施例】
本発明のＩＣカード実施例を図にもとづいて説明する。
図１（ａ）は本発明の実施例１のＩＣカードのハード構成を示す図で、図１（ｂ）は本発明の実施例１のＩＣカードの機能構成を示す図である。
図１中、１００はＩＣカード、１０１はＣＰＵ、１０２はＲＯＭ、１０３はＲＡＭ、１０４はＥＥＰＲＯＭ、１０５はＩ／Ｏライン、１０６はＶCC（電源電圧）、１０７はＲＳＴ（リセットライン）、１０８はＣＬＫ（クロックライン）、１０９はＧＮＤ（グランドライン）である。
本実施例のＩＣカードは、基本的な構成は、図１に示すように、従来のＩＣカードと同じで、ＣＰＵ１０１と、メモリとしてのＲＯＭ１０２、ＲＡＭ１０３、ＥＥＰＲＯＭ１０４と、Ｉ／Ｏライン１０５と、ＶCC（電源電圧ライン）１０６と、ＲＳＴ（リセットライン）１０７と、ＣＬＫ（クロックライン）１０８とＧＮＤ（グランドライン）１０９とを有するものであるが、図３に示すＥＥＰＲＯＭメモリマップのアプリケーションプログラムやアプリケーションプログラムのデータ領域以外の所定の領域に、特定情報領域ＳＡを設け、ここに、プログラムのローデイング未済みを示すＬＦ（Ａｐｐｌｉｃａｔｉｏｎ  Ｌｏａｄｉｎｇ
Ｆｌａｇ）、アプリケーションの長さを示すＡＬＥＮ、、アプリケーションのネームを示すＡＰ−ＮＡＭＥ、アプリケーションプログラムの格納予定領域の開始アドレスを示すＡＰＳＡＤＤ、アプリケーションプログラムの格納予定領域の最終アドレスを示すＡＰＥＡＤＤ、アプリケーションの開始を示すＪＡＤＤ、アプリケーションプログラムの長さを示すＡＰ−ＬＥＮ等の特定情報を書き込んでいる。
そして、本実施例のＩＣカードは、上記のＥＥＰＲＯＭの所定領域に書き込まれている特定情報により、使用が許可されているＣＰＵ命令コードである、スタックレジスタを除くレジスタ間のデータ移動命令コード、レジスタのビット操作命令コード、及びアドレスのジヤンプ命令コード中、アドレスのジヤンプ命令コードが、前記特定情報に従うアプリケーション記憶予定領域もしくは、各アプリケーションに共通使用が許可されている領域であるかを判断し、アドレスのジヤンプ命令コードが特定情報に従うアプリケーション記憶予定領域もしくは、各アプリケーションに共通使用が許可されている領域である場合のみ、プリケーションは実行可能となるものである。
そしてまた、本実施例のＩＣカードは、Ｉ／Ｏ、ＲＯＭ、ＲＡＭからなるアプリケーション入力手段、Ｉ／Ｏ、ＲＯＭ、ＲＡＭからなるアプリケーション特定情報入力手段、ＥＥＰＲＯＭからなるアプリケーション記憶手段、ＣＰＵ、ＲＯＭからなるアプリケーション実行手段とを有するものである。
図２は、上記ＲＯＭ１０２、ＲＡＭ１０３、ＥＥＰＲＯＭ１０４のメモリのアドレスを示したものである。
【００１０】
図３は、ＥＥＰＲＯＭメモリマップを示すもので、各アプリケーション毎に、特定情報、アプリケーションプログラム、アプリケーションプログラムの参照データが所定の領域に書き込まれている。
前述のように、特定情報としては、プログラムネームやその領域の開始アドレスや終了アドレス等の特定の情報が書き込まれている。
図４は、ＲＯＭのメモリマップを示すもので、００００〜０００７はシステム領域、０００８〜００１５はアプリケーションプログラムからアクセスが許可されている共通領域（フアンクション群）で、機能サブルーチンに間接的にプログラムジャンプするアドレスが書き込まれており、００１６〜２７ＦＦは各機能サブルーチンの処理プログラム及びアプリケーションのロード、実行を行う為の処理プログラム格納領域である。
例えば、アプリケーション実行においてジヤンプ命令があり、ＲＯＭの０００ＥアドレスにジヤンプされるとＲＡＭのデータ２をレジスタへ移行させる命令を実行する。
図５は、ＲＡＭのメモリマップを示すもので、アドレスＦＥＣ０〜ＦＥＦＥまでがＳｙｓｔｅｍ  Ａｒｅａ、アドレスＦＦ００〜ＦＦ９ＥまでがＵｓｅｒ  Ａｒｅａ、ＦＦＡ０〜ＦＦＢＥまでがＳｙｓｔｅｍ  Ａｒｅａとなっており、一般にＵｓｅｒ  Ａｒｅａは全てのアプリケーションに対し共通領域とされている。
【００１１】
図６（ａ）に、アプリケーションをロードするアプリケーションロードコマンドの１例を挙げる。
アプリケーションロードコマンドは、ＣＬＡ（コマンドクラス）、ＩＮＳ（コマンドインストラクション）、ＡＬＥＮ（アプリケーションの名前の長さ）、ＡＰ−ＮＡＭＥ（アプリケーションの名前）、ＡＰＳＡＤＤ（アプリケーションプログラムの格納予定領域の開始アドレス）、ＡＰＥＡＤＤ（アプリケーションプログラムの格納予定領域の終了アドレス）、ＪＡＤＤ（アプリケーションの開始アドレス）、ＡＰ−ＬＥＮ（アプリケーションプログラムの長さ）、ＡＰ−ＰＲＯ（アプリケーションプログラム）からなっている。
図６（ｂ）は、アプリケーションロードコマンドに対するＲｅｓｐｏｎｓｅのフオーマット例である。
【００１２】
図７（ａ）に、アプリケーションデータを書き込む、アプリケーションデータライトコマンドの１例を挙げる。
アプリケーションデータライトコマンドは、ＣＬＡ（コマンドクラス）、ＩＮＳ（コマンドインストラクション）、ＡＬＥＮ（アプリケーションの名前の長さ）、ＡＰ−ＮＡＭＥ（アプリケーションの名前）、ＡＤＳＡＤＤ（アプリケーションデータの格納予定領域の開始アドレス）、ＡＤＥＡＤＤ（アプリケーションデータの格納予定領域の終了アドレス）、ＡＤ−ＬＥＮ（アプリケーションデータの長さ）、ＡＤ−ＤＡＴＡ（アプリケーションデータ）からなっている。
図７（ｂ）は、アプリケーションデータライトコマンドに対するＲｅｓｐｏｎｓｅのフオーマット例である。
【００１３】
図８（ａ）に、アプリケーションを選択する、アプリケーション選択コマンドの１例を挙げる。
アプリケーション選択コマンドは、ＣＬＡ（コマンドクラス）、ＩＮＳ（コマンドインストラクション）、ＡＬＥＮ（アプリケーションの名前の長さ）、ＡＰ−ＮＡＭＥ（アプリケーションの名前）からなっている。
図８（ｂ）は、アプリケーション選択コマンドに対するＲｅｓｐｏｎｓｅのフオーマット例である。
【００１４】
図９は、ＩＣカード中にロードが許可されるＣＰＵ命令コード群を示したもので、大きくは、スタックレジスタを除くレジスタ間のデータ移動命令コード群Ａと、レジスタのビット操作命令コード群Ｂとアドレスのジヤンプ命令コード群Ｃに分けられる。
この中で、ジヤンプ命令コード群Ｃが実行される際には、特定情報に従う、アプリケーション記憶予定領域もしくは、各アプリケーションに共通使用が許可されている領域であるであることを確認した後、実行される。
【００１５】
次に、実施例ＩＣカードの動作を図１０をもとに簡単に説明する。
先ず、ＩＣカードがリセットされると、装置側へ（Ａｎｓｗｅｒ  ｔｏ  Ｒｅｓｅｔ）を送出し（Ｓ１０１）、コマンド待ち状態となり（Ｓ１０２）、装置側から、ユーザのアプリケーションプログラムや実データ、特定情報等が含まれたコマンドは、一旦、ＲＡＭへ受信されると、ＩＣカードのＣＰＵ、ＲＯＭにより以下の処理が実行される。
コマンドがＲＡＭへ受信されると、はじめに、コマンドがアプリケーションプログラムをＥＥＰＲＯＭにロードするＬｏａｄ  Ａｐｌｉｃａｔｉｏｎ  Ｃｏｍｍａｎｄ（ＬＡＣ）であるか否かをチエックする。（Ｓ１０３）
コマンドがＬＡＣの場合には、Ｌｏａｄ  Ａｐｌｉｃａｔｉｏｎ  Ｃｏｍｍａｎｄ処理を行った（Ｓ１０３Ａ）後、再度装置からのコマンド待ち状態となり、コマンドがＬＡＣでない場合には、次に、アプリケーションプログラムデータをＥＥＰＲＯＭに書き込むＷｒｉｔｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｃｏｍｍａｎｄ（ＷＡＣ）であるか否かをチエックする。（Ｓ１０４）
ここで、コマンドがＷＡＣの場合には、Ｗｒｉｔｅ  ＡｐｐｌｉｃａｔｉｏｎＤａｔａ  Ｃｏｍｍａｎｄ処理を行った（Ｓ１０４Ａ）後、再度、装置からのコマンド待ち状態となる。そして、コマンドがＷＡＣでない場合には、次に、コマンドがＥＥＰＲＯＭ内の所定のプログラムを実行するＳｅｌｅｃｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｃｏｍｍａｎｄ（ＳＡＣ）であるか否かをチエックする。（Ｓ１０５）
ここで、コマンドがＳＡＣである場合にはＳｅｌｅｃｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｃｏｍｍａｎｄ処理を実行した（Ｓ１０５Ａ）後、再度、装置からのコマンド待ち状態となる。この際コマンドがＳＡＣでない場合には異常終了状態を装置側へ送出し（Ｓ１０６）た後、再度、装置からのコマンド待ち状態となる。
【００１６】
アプリケーションをロードするＬｏａｄ  Ａｐｌｉｃａｔｉｏｎ  Ｃｏｍｍａｎｄ（ＬＡＣ）の処理を図１１をもとに簡単に説明しておく。
先ず、Ｌｏａｄ  Ａｐｌｉｃａｔｉｏｎ  Ｃｏｍｍａｎｄ（ＬＡＣ）の処理に入いる（Ｓ２０１）と、図３に示すＥＥＰＲＯＭのアドレス６０４０〜ＵＡＳＰ迄の領域で指定されたアプリケーションの名前を検索する。（Ｓ２０２）
尚、ＵＡＳＰはあらかじめ発行処理時に値を決定しておく。
アプリケーションの名前がある場合には、異常状態終了を送出し（Ｓ２１１）、処理を終了する。（Ｓ２０８）
アプリケーションの名前がない場合には、受信コマンドのアプリケーションプログラム（ＡＰ−ＰＲＯ）の先頭アドレスをＣＰＵ命令コードチエックアドレス（ＣＡＤＤ）にセットし、ＣＰＵ命令コードを取り出し（Ｓ２０３）、命令コードのチエックを行う。（Ｓ２０４）
ＣＰＵ命令コードがデータ移動命令コード群Ａである場合、及びレジスタのビット操作命令コード群Ｂである場合には、該当するレジスタのチエックを行い、スタックレジスタの場合を除く（Ｓ２０５）。
レジスタチエックがＮＧの場合は異常終了状態を送出（Ｓ２１１）し、処理を終了し（Ｓ２０８）、レジスタチエックがＯＫの場合は、全てのＣＰＵ命令コードがチエックが完了していないときは再度（Ｓ２０３）、（Ｓ２０４）を行うが、完了してるときは正常終了状態を送出（Ｓ２０９）した後、処理を終了する。（Ｓ２１０）
また、ＣＰＵ命令コードがアドレスのジヤンプ命令コード群Ｃである場合には、命令動作の領域のチエックを行う（Ｓ２０６）。
命令動作の領域チエック（Ｓ２０６）で、命令コードの動作範囲が特定情報に従う、アプリケーション記憶予定領域もしくは、各アプリケーションに共通使用が許可されている領域である場合のみ、実行可能とする。ここで、全てのＣＰＵ命令コードチエックが完了している場合は、ＲＡＭへ受信したＡＰ−ＰＲＯをＥＥＰＲＯＭへ書込み（Ｓ２０７）、ＡＤＳＡＤＤ、ＡＤＥＡＤＤ、ＡＰＳＡＤＤ、ＡＰＥＡＤＤ、ＪＡＤＤをＥＥＰＲＯＭへ書き込み（Ｓ２０８）、正常状態終了を送出し（Ｓ２０９）、処理を終了する（Ｓ２１０）が、全てのＣＰＵ命令コードチエックが完了ていないときは再度（Ｓ２０３）、（Ｓ２０４）を行う。
また、命令動作の領域チエック（Ｓ２０６）で、命令コードの動作範囲チエックがＯＫでない場合には異常終了状態を送出し（Ｓ２１１）、処理を終了する。（Ｓ２１０）
【００１７】
アプリケーションデータを書き込むＷｒｉｔｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｃｏｍｍａｎｄ（ＷＡＣ）の処理を図１２をもとに簡単に説明しておく。
先ず、Ｗｒｉｔｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｄａｔａ  Ｃｏｍｍａｎｄ（ＷＡＣ）の処理に入る（Ｓ３０１）と、図３に示すＥＥＰＲＯＭのアドレス６０４０〜ＵＡＳＰ迄の領域でコマンドで指定されたアプリケーションの名前を検索する。（Ｓ３０２）
アプリケーションの名前がない場合には、異常終了状態を送出し（Ｓ３１１）、処理を終了する。（Ｓ３０６）
アプリケーションの名前がある場合には、アプリケーションデータが書き込み済みであるかを判断するが、書き込み済みの場合には異常終了状態を送出し（Ｓ３１１）、処理を終了し（Ｓ３０６）、書き込み未の場合はコマンドが受信したＡＤ−ＬＥＮがＡＤＳＡＤＤ〜ＡＤＥＡＤＤの範囲か否かのチエックを行う。（Ｓ３０３）
ここで、範囲外の場合は異常終了状態を送出（Ｓ３１１）し、処理を終了する。（Ｓ３０６）
範囲内の場合は、ＡＡＤＳＡＤＤからＡＤ−ＬＥＮ（アプリケーションデータの長さ）分、ＡＤ−ＤＡＴＡ（アプリケーションデータ）を書き込み、ＡＤＳＡＤＤ、ＡＤＥＡＤＤをアプリケーション管理情報の該当部分に書きこみ、ＬＦ（Ｌｏａｄ  ａｐｌｌｉｃａｔｉｏｎ  Ｆｌａｇ）をアプリケーションデータ書き込み済みにセットする処理を行う（Ｓ３０４）。
ステップＳ３０４の処理が正常に終了しない場合は、異常状態終了を送出し（Ｓ３１１）、正常に終了した場合には、正常終了状態を送出し（Ｓ３０５）、処理を終了する。（Ｓ３０６）
【００１８】
次いで、アプリケーションを選択するＳｅｌｅｃｔ  ＡｐｐｌｉｃａｔｉｏｎＣｏｍｍａｎｄ（ＳＡＣ）について図１３をもとに簡単に説明する。
先ず、Ｓｅｌｅｃｔ  Ａｐｐｌｉｃａｔｉｏｎ  Ｃｏｍｍａｎｄ（ＳＡＣ）の処理に入る（Ｓ４０１）と、図３に示すＥＥＰＲＯＭのアドレス６０４０〜ＵＡＳＰ迄の領域でコマンドで指定されたアプリケーションの名前を検索する。（Ｓ４０２）
アプリケーションの名前がない場合には、異常終了状態を送出し（Ｓ４１１）、処理を終了する。（Ｓ４０６）
アプリケーションの名前がある場合にはＲＡＭのユーザ領域を消去しＦＦにし（Ｓ４０３）、正常状態終了を送出した（Ｓ４０４）後、ＥＥＰＲＯＭのＪＡＤＤが示すアドレスにプログララムをジヤンプし（Ｓ４０５）処理を実行した後、処理を終了する。（Ｓ４０６）
【００１９】
【効果】
本発明のＩＣカードは、上記のように、複数のアプリケーションプログラムをローデイングして使用するＩＣカードにおいて、セキュリテイーが保たれている領域を複数設けずに、あるアプリケーションから他のアプリケーションへ、アクセスができないようにしたものであり、結局、セキュリテイー上の問題を解決し、且つ、メモリの有効利用ができるＩＣカードの提供を可能にしている。
【図面の簡単な説明】
【図１】実施例ＩＣカードの構成図
【図２】実施例ＩＣカードの各メモリのアドレスを説明するための図
【図３】ＥＥＰＲＯＭのメモリマップを説明するための図
【図４】ＲＯＭのメモリマップを説明するための図
【図５】ＲＡＭのメモリマップを説明するための図
【図６】ロードアプリケーションコマンドを示す図
【図７】ライトアプリケーションデータコマンド（特定情報書き込みコマンド）の図
【図８】セレクトアプリケーションコマンド（アプリケーション選択コマンド）の図
【図９】ＩＣカート中にロードが許可されるＣＰＵ命令コードを示した図
【図１０】ＩＣカードの動作を説明するための図
【図１１】ロードアプリケーションコマンド処理をフロー部
【図１２】ライトアプリケーションデータコマンド（特定情報書き込みコマンド）処理のフロー図
【図１３】セレクトアプリケーションコマンド（アプリケーション選択コマンド）処理のフロー図
【符号の説明】
１００              ＩＣカード
１０１              ＣＰＵ
１０２              ＲＯＭ
１０３              ＲＡＭ
１０４              ＥＥＰＲＯＭ
１０５              Ｉ／Ｏライン
１０６              ＶCC
１０７              ＲＳＴ
１０８              ＣＬＫ
１０９              ＧＮＤ
ＬＡＣ              アプリケーションロードコマンド
ＷＡＣ              アプリケーションデータ書き込みコマンド
ＳＡＣ              アプリケーション選択コマンド
【図１】
0003923546.tif 000002
【図２】
0003923546.tif 000003
【図３】
0003923546.tif 000004
【図４】
0003923546.tif 000005
【図５】
0003923546.tif 000006
【図６】
0003923546.tif 000007
【図７】
0003923546.tif 000008
【図８】
0003923546.tif 000009
【図９】
0003923546.tif 000010
【図１０】
0003923546.tif 000011
【図１１】
0003923546.tif 000012
【図１２】
0003923546.tif 000013
【図１３】
0003923546.tif 000014